/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes the resources, including machine learning (ML) compute instances
* and ML storage volumes, to use for model training. See Also:
* AWS
* API Reference
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.
*/ inline const TrainingInstanceType& GetInstanceType() const{ return m_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.
*/ inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } /** *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.
*/ inline void SetInstanceType(const TrainingInstanceType& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } /** *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.
*/ inline void SetInstanceType(TrainingInstanceType&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } /** *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.
*/ inline ResourceConfig& WithInstanceType(const TrainingInstanceType& value) { SetInstanceType(value); return *this;} /** *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.
*/ inline ResourceConfig& WithInstanceType(TrainingInstanceType&& value) { SetInstanceType(std::move(value)); return *this;} /** *The number of ML compute instances to use. For distributed training, provide * a value greater than 1.
*/ inline int GetInstanceCount() const{ return m_instanceCount; } /** *The number of ML compute instances to use. For distributed training, provide * a value greater than 1.
*/ inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; } /** *The number of ML compute instances to use. For distributed training, provide * a value greater than 1.
*/ inline void SetInstanceCount(int value) { m_instanceCountHasBeenSet = true; m_instanceCount = value; } /** *The number of ML compute instances to use. For distributed training, provide * a value greater than 1.
*/ inline ResourceConfig& WithInstanceCount(int value) { SetInstanceCount(value); return *this;} /** *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.
*/ inline int GetVolumeSizeInGB() const{ return m_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.
*/ inline bool VolumeSizeInGBHasBeenSet() const { return m_volumeSizeInGBHasBeenSet; } /** *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.
*/ inline void SetVolumeSizeInGB(int value) { m_volumeSizeInGBHasBeenSet = true; m_volumeSizeInGB = value; } /** *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.
*/ inline ResourceConfig& WithVolumeSizeInGB(int value) { SetVolumeSizeInGB(value); return *this;} /** *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"
*
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"
*
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"
*
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"
*
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"
*
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"
*
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"
*
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"
*
The configuration of a heterogeneous cluster in JSON format.
*/ inline const Aws::VectorThe configuration of a heterogeneous cluster in JSON format.
*/ inline bool InstanceGroupsHasBeenSet() const { return m_instanceGroupsHasBeenSet; } /** *The configuration of a heterogeneous cluster in JSON format.
*/ inline void SetInstanceGroups(const Aws::VectorThe configuration of a heterogeneous cluster in JSON format.
*/ inline void SetInstanceGroups(Aws::VectorThe configuration of a heterogeneous cluster in JSON format.
*/ inline ResourceConfig& WithInstanceGroups(const Aws::VectorThe configuration of a heterogeneous cluster in JSON format.
*/ inline ResourceConfig& WithInstanceGroups(Aws::VectorThe configuration of a heterogeneous cluster in JSON format.
*/ inline ResourceConfig& AddInstanceGroups(const InstanceGroup& value) { m_instanceGroupsHasBeenSet = true; m_instanceGroups.push_back(value); return *this; } /** *The configuration of a heterogeneous cluster in JSON format.
*/ inline ResourceConfig& AddInstanceGroups(InstanceGroup&& value) { m_instanceGroupsHasBeenSet = true; m_instanceGroups.push_back(std::move(value)); return *this; } /** *The duration of time in seconds to retain configured resources in a warm pool * for subsequent training jobs.
*/ inline int GetKeepAlivePeriodInSeconds() const{ return m_keepAlivePeriodInSeconds; } /** *The duration of time in seconds to retain configured resources in a warm pool * for subsequent training jobs.
*/ inline bool KeepAlivePeriodInSecondsHasBeenSet() const { return m_keepAlivePeriodInSecondsHasBeenSet; } /** *The duration of time in seconds to retain configured resources in a warm pool * for subsequent training jobs.
*/ inline void SetKeepAlivePeriodInSeconds(int value) { m_keepAlivePeriodInSecondsHasBeenSet = true; m_keepAlivePeriodInSeconds = value; } /** *The duration of time in seconds to retain configured resources in a warm pool * for subsequent training jobs.
*/ inline ResourceConfig& WithKeepAlivePeriodInSeconds(int value) { SetKeepAlivePeriodInSeconds(value); return *this;} private: TrainingInstanceType m_instanceType; bool m_instanceTypeHasBeenSet = false; int m_instanceCount; bool m_instanceCountHasBeenSet = false; int m_volumeSizeInGB; bool m_volumeSizeInGBHasBeenSet = false; Aws::String m_volumeKmsKeyId; bool m_volumeKmsKeyIdHasBeenSet = false; Aws::Vector