/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include 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.See
* Also:
AWS
* API Reference
The instance type used to run hyperparameter optimization tuning jobs. See * descriptions of instance types for more information.
*/ inline const TrainingInstanceType& GetInstanceType() const{ return m_instanceType; } /** *The instance type used to run hyperparameter optimization tuning jobs. See * descriptions of instance types for more information.
*/ inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } /** *The instance type used to run hyperparameter optimization tuning jobs. See * descriptions of instance types for more information.
*/ inline void SetInstanceType(const TrainingInstanceType& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } /** *The instance type used to run hyperparameter optimization tuning jobs. See * descriptions of instance types for more information.
*/ inline void SetInstanceType(TrainingInstanceType&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } /** *The instance type used to run hyperparameter optimization tuning jobs. See * descriptions of instance types for more information.
*/ inline HyperParameterTuningResourceConfig& WithInstanceType(const TrainingInstanceType& value) { SetInstanceType(value); return *this;} /** *The instance type used to run hyperparameter optimization tuning jobs. See * descriptions of instance types for more information.
*/ inline HyperParameterTuningResourceConfig& WithInstanceType(TrainingInstanceType&& value) { SetInstanceType(std::move(value)); return *this;} /** *The number of compute instances of type InstanceType
to use. For
* distributed
* training, select a value greater than 1.
The number of compute instances of type InstanceType
to use. For
* distributed
* training, select a value greater than 1.
The number of compute instances of type InstanceType
to use. For
* distributed
* training, select a value greater than 1.
The number of compute instances of type InstanceType
to use. For
* distributed
* training, select a value greater than 1.
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.
*/ inline int GetVolumeSizeInGB() const{ return m_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.
*/ inline bool VolumeSizeInGBHasBeenSet() const { return m_volumeSizeInGBHasBeenSet; } /** *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.
*/ inline void SetVolumeSizeInGB(int value) { m_volumeSizeInGBHasBeenSet = true; m_volumeSizeInGB = value; } /** *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.
*/ inline HyperParameterTuningResourceConfig& WithVolumeSizeInGB(int value) { SetVolumeSizeInGB(value); return *this;} /** *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.
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.
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.
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.
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.
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.
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.
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.
The strategy that determines the order of preference for resources specified
* in InstanceConfigs
used in hyperparameter optimization.
The strategy that determines the order of preference for resources specified
* in InstanceConfigs
used in hyperparameter optimization.
The strategy that determines the order of preference for resources specified
* in InstanceConfigs
used in hyperparameter optimization.
The strategy that determines the order of preference for resources specified
* in InstanceConfigs
used in hyperparameter optimization.
The strategy that determines the order of preference for resources specified
* in InstanceConfigs
used in hyperparameter optimization.
The strategy that determines the order of preference for resources specified
* in InstanceConfigs
used in hyperparameter optimization.
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
.
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
.
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
.
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
.
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
.
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
.
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
.
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
.