/* * 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 { /// /// The configuration of resources, including compute instances and storage volumes for /// use in training jobs launched by hyperparameter tuning jobs. HyperParameterTuningResourceConfig /// is similar to ResourceConfig, but has the additional InstanceConfigs /// and AllocationStrategy fields to allow for flexible instance management. /// Specify one or more instance types, count, and the allocation strategy for instance /// selection. /// /// /// /// HyperParameterTuningResourceConfig supports the capabilities of ResourceConfig /// with the exception of KeepAlivePeriodInSeconds. Hyperparameter tuning /// jobs use warm pools by default, which reuse clusters between training jobs. /// /// /// public partial class HyperParameterTuningResourceConfig { private HyperParameterTuningAllocationStrategy _allocationStrategy; private List _instanceConfigs = new List(); private int? _instanceCount; private TrainingInstanceType _instanceType; private string _volumeKmsKeyId; private int? _volumeSizeInGB; /// /// Gets and sets the property AllocationStrategy. /// /// The strategy that determines the order of preference for resources specified in InstanceConfigs /// used in hyperparameter optimization. /// /// public HyperParameterTuningAllocationStrategy AllocationStrategy { get { return this._allocationStrategy; } set { this._allocationStrategy = value; } } // Check to see if AllocationStrategy property is set internal bool IsSetAllocationStrategy() { return this._allocationStrategy != null; } /// /// Gets and sets the property InstanceConfigs. /// /// A list containing the configuration(s) for one or more resources for processing hyperparameter /// jobs. These resources include compute instances and storage volumes to use in model /// training jobs launched by hyperparameter tuning jobs. The AllocationStrategy /// controls the order in which multiple configurations provided in InstanceConfigs /// are used. /// /// /// /// If you only want to use a single instance configuration inside the HyperParameterTuningResourceConfig /// API, do not provide a value for InstanceConfigs. Instead, use InstanceType, /// VolumeSizeInGB and InstanceCount. If you use InstanceConfigs, /// do not provide values for InstanceType, VolumeSizeInGB or /// InstanceCount. /// /// /// [AWSProperty(Min=1, Max=6)] public List InstanceConfigs { get { return this._instanceConfigs; } set { this._instanceConfigs = value; } } // Check to see if InstanceConfigs property is set internal bool IsSetInstanceConfigs() { return this._instanceConfigs != null && this._instanceConfigs.Count > 0; } /// /// Gets and sets the property InstanceCount. /// /// The number of compute instances of type InstanceType to use. For distributed /// training, select 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 InstanceType. /// /// The instance type used to run hyperparameter optimization tuning jobs. See /// descriptions of instance types for more information. /// /// 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 VolumeKmsKeyId. /// /// A key used by Amazon Web Services Key Management Service to encrypt data on the storage /// volume attached to the compute instances used to run the training job. You can use /// either of the following formats to specify a key. /// /// /// /// 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" /// /// /// /// /// Some instances use local storage, which use a hardware /// module to encrypt storage volumes. If you choose one of these instance types, /// you cannot request a VolumeKmsKeyId. For a list of instance types that /// use local storage, see instance /// store volumes. For more information about Amazon Web Services Key Management Service, /// see KMS /// encryption for more information. /// /// [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 volume size in GB for the storage volume to be used in processing hyperparameter /// optimization jobs (optional). These volumes store model artifacts, incremental states /// and optionally, scratch space for training algorithms. Do not provide a value for /// this parameter if a value for InstanceConfigs is also specified. /// /// /// /// Some instance types have a fixed total local storage size. If you select one of these /// instances for training, VolumeSizeInGB cannot be greater than this total /// size. For a list of instance types with local instance storage and their sizes, see /// instance /// store volumes. /// /// /// /// SageMaker supports only the General /// Purpose SSD (gp2) storage volume type. /// /// /// [AWSProperty(Min=0)] 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; } } }