/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the sagemaker-2017-07-24.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.SageMaker.Model { /// /// Describes the resources, including machine learning (ML) compute instances and ML /// storage volumes, to use for model training. /// public partial class ResourceConfig { private int? _instanceCount; private List _instanceGroups = new List(); private TrainingInstanceType _instanceType; private int? _keepAlivePeriodInSeconds; private string _volumeKmsKeyId; private int? _volumeSizeInGB; /// /// Gets and sets the property InstanceCount. /// /// The number of ML compute instances to use. For distributed training, provide a value /// greater than 1. /// /// [AWSProperty(Min=0)] public int InstanceCount { get { return this._instanceCount.GetValueOrDefault(); } set { this._instanceCount = value; } } // Check to see if InstanceCount property is set internal bool IsSetInstanceCount() { return this._instanceCount.HasValue; } /// /// Gets and sets the property InstanceGroups. /// /// The configuration of a heterogeneous cluster in JSON format. /// /// [AWSProperty(Max=5)] public List InstanceGroups { get { return this._instanceGroups; } set { this._instanceGroups = value; } } // Check to see if InstanceGroups property is set internal bool IsSetInstanceGroups() { return this._instanceGroups != null && this._instanceGroups.Count > 0; } /// /// Gets and sets the property InstanceType. /// /// The ML compute instance type. /// /// /// /// SageMaker Training on Amazon Elastic Compute Cloud (EC2) P4de instances is in preview /// release starting December 9th, 2022. /// /// /// /// Amazon EC2 P4de instances /// (currently in preview) are powered by 8 NVIDIA A100 GPUs with 80GB high-performance /// HBM2e GPU memory, which accelerate the speed of training ML models that need to be /// trained on large datasets of high-resolution data. In this preview release, Amazon /// SageMaker supports ML training jobs on P4de instances (ml.p4de.24xlarge) /// to reduce model training time. The ml.p4de.24xlarge instances are available /// in the following Amazon Web Services Regions. /// ///
  • /// /// US East (N. Virginia) (us-east-1) /// ///
  • /// /// US West (Oregon) (us-west-2) /// ///
/// /// To request quota limit increase and start using P4de instances, contact the SageMaker /// Training service team through your account team. /// ///
///
public TrainingInstanceType InstanceType { get { return this._instanceType; } set { this._instanceType = value; } } // Check to see if InstanceType property is set internal bool IsSetInstanceType() { return this._instanceType != null; } /// /// Gets and sets the property KeepAlivePeriodInSeconds. /// /// The duration of time in seconds to retain configured resources in a warm pool for /// subsequent training jobs. /// /// [AWSProperty(Min=0, Max=3600)] public int KeepAlivePeriodInSeconds { get { return this._keepAlivePeriodInSeconds.GetValueOrDefault(); } set { this._keepAlivePeriodInSeconds = value; } } // Check to see if KeepAlivePeriodInSeconds property is set internal bool IsSetKeepAlivePeriodInSeconds() { return this._keepAlivePeriodInSeconds.HasValue; } /// /// Gets and sets the property VolumeKmsKeyId. /// /// The Amazon Web Services KMS key that SageMaker uses to encrypt data on the storage /// volume attached to the ML compute instance(s) that run the training job. /// /// /// /// Certain Nitro-based instances include local storage, dependent on the instance type. /// Local storage volumes are encrypted using a hardware module on the instance. You can't /// request a VolumeKmsKeyId when using an instance type with local storage. /// /// /// /// For a list of instance types that support local instance storage, see Instance /// Store Volumes. /// /// /// /// For more information about local instance storage encryption, see SSD /// Instance Store Volumes. /// /// /// /// The VolumeKmsKeyId can be in any of the following formats: /// ///
  • /// /// // KMS Key ID /// /// /// /// "1234abcd-12ab-34cd-56ef-1234567890ab" /// ///
  • /// /// // Amazon Resource Name (ARN) of a KMS Key /// /// /// /// "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" /// /// ///
///
[AWSProperty(Max=2048)] public string VolumeKmsKeyId { get { return this._volumeKmsKeyId; } set { this._volumeKmsKeyId = value; } } // Check to see if VolumeKmsKeyId property is set internal bool IsSetVolumeKmsKeyId() { return this._volumeKmsKeyId != null; } /// /// Gets and sets the property VolumeSizeInGB. /// /// The size of the ML storage volume that you want to provision. /// /// /// /// ML storage volumes store model artifacts and incremental states. Training algorithms /// might also use the ML storage volume for scratch space. If you want to store the training /// data in the ML storage volume, choose File as the TrainingInputMode /// in the algorithm specification. /// /// /// /// When using an ML instance with NVMe /// SSD volumes, SageMaker doesn't provision Amazon EBS General Purpose SSD (gp2) /// storage. Available storage is fixed to the NVMe-type instance's storage capacity. /// SageMaker configures storage paths for training datasets, checkpoints, model artifacts, /// and outputs to use the entire capacity of the instance storage. For example, ML instance /// families with the NVMe-type instance storage include ml.p4d, ml.g4dn, /// and ml.g5. /// /// /// /// When using an ML instance with the EBS-only storage option and without instance storage, /// you must define the size of EBS volume through VolumeSizeInGB in the /// ResourceConfig API. For example, ML instance families that use EBS volumes /// include ml.c5 and ml.p2. /// /// /// /// To look up instance types and their instance storage types and volumes, see Amazon /// EC2 Instance Types. /// /// /// /// To find the default local paths defined by the SageMaker training platform, see Amazon /// SageMaker Training Storage Folders for Training Datasets, Checkpoints, Model Artifacts, /// and Outputs. /// /// [AWSProperty(Required=true, Min=1)] public int VolumeSizeInGB { get { return this._volumeSizeInGB.GetValueOrDefault(); } set { this._volumeSizeInGB = value; } } // Check to see if VolumeSizeInGB property is set internal bool IsSetVolumeSizeInGB() { return this._volumeSizeInGB.HasValue; } } }