You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.
Class: Aws::SageMaker::Types::CreateHyperParameterTuningJobRequest
- Inherits:
-
Struct
- Object
- Struct
- Aws::SageMaker::Types::CreateHyperParameterTuningJobRequest
- Defined in:
- (unknown)
Overview
When passing CreateHyperParameterTuningJobRequest as input to an Aws::Client method, you can use a vanilla Hash:
{
hyper_parameter_tuning_job_name: "HyperParameterTuningJobName", # required
hyper_parameter_tuning_job_config: { # required
strategy: "Bayesian", # required, accepts Bayesian, Random
hyper_parameter_tuning_job_objective: {
type: "Maximize", # required, accepts Maximize, Minimize
metric_name: "MetricName", # required
},
resource_limits: { # required
max_number_of_training_jobs: 1, # required
max_parallel_training_jobs: 1, # required
},
parameter_ranges: {
integer_parameter_ranges: [
{
name: "ParameterKey", # required
min_value: "ParameterValue", # required
max_value: "ParameterValue", # required
scaling_type: "Auto", # accepts Auto, Linear, Logarithmic, ReverseLogarithmic
},
],
continuous_parameter_ranges: [
{
name: "ParameterKey", # required
min_value: "ParameterValue", # required
max_value: "ParameterValue", # required
scaling_type: "Auto", # accepts Auto, Linear, Logarithmic, ReverseLogarithmic
},
],
categorical_parameter_ranges: [
{
name: "ParameterKey", # required
values: ["ParameterValue"], # required
},
],
},
training_job_early_stopping_type: "Off", # accepts Off, Auto
tuning_job_completion_criteria: {
target_objective_metric_value: 1.0, # required
},
},
training_job_definition: {
definition_name: "HyperParameterTrainingJobDefinitionName",
tuning_objective: {
type: "Maximize", # required, accepts Maximize, Minimize
metric_name: "MetricName", # required
},
hyper_parameter_ranges: {
integer_parameter_ranges: [
{
name: "ParameterKey", # required
min_value: "ParameterValue", # required
max_value: "ParameterValue", # required
scaling_type: "Auto", # accepts Auto, Linear, Logarithmic, ReverseLogarithmic
},
],
continuous_parameter_ranges: [
{
name: "ParameterKey", # required
min_value: "ParameterValue", # required
max_value: "ParameterValue", # required
scaling_type: "Auto", # accepts Auto, Linear, Logarithmic, ReverseLogarithmic
},
],
categorical_parameter_ranges: [
{
name: "ParameterKey", # required
values: ["ParameterValue"], # required
},
],
},
static_hyper_parameters: {
"HyperParameterKey" => "HyperParameterValue",
},
algorithm_specification: { # required
training_image: "AlgorithmImage",
training_input_mode: "Pipe", # required, accepts Pipe, File
algorithm_name: "ArnOrName",
metric_definitions: [
{
name: "MetricName", # required
regex: "MetricRegex", # required
},
],
},
role_arn: "RoleArn", # required
input_data_config: [
{
channel_name: "ChannelName", # required
data_source: { # required
s3_data_source: {
s3_data_type: "ManifestFile", # required, accepts ManifestFile, S3Prefix, AugmentedManifestFile
s3_uri: "S3Uri", # required
s3_data_distribution_type: "FullyReplicated", # accepts FullyReplicated, ShardedByS3Key
attribute_names: ["AttributeName"],
},
file_system_data_source: {
file_system_id: "FileSystemId", # required
file_system_access_mode: "rw", # required, accepts rw, ro
file_system_type: "EFS", # required, accepts EFS, FSxLustre
directory_path: "DirectoryPath", # required
},
},
content_type: "ContentType",
compression_type: "None", # accepts None, Gzip
record_wrapper_type: "None", # accepts None, RecordIO
input_mode: "Pipe", # accepts Pipe, File
shuffle_config: {
seed: 1, # required
},
},
],
vpc_config: {
security_group_ids: ["SecurityGroupId"], # required
subnets: ["SubnetId"], # required
},
output_data_config: { # required
kms_key_id: "KmsKeyId",
s3_output_path: "S3Uri", # required
},
resource_config: { # required
instance_type: "ml.m4.xlarge", # required, accepts ml.m4.xlarge, ml.m4.2xlarge, ml.m4.4xlarge, ml.m4.10xlarge, ml.m4.16xlarge, ml.g4dn.xlarge, ml.g4dn.2xlarge, ml.g4dn.4xlarge, ml.g4dn.8xlarge, ml.g4dn.12xlarge, ml.g4dn.16xlarge, ml.m5.large, ml.m5.xlarge, ml.m5.2xlarge, ml.m5.4xlarge, ml.m5.12xlarge, ml.m5.24xlarge, ml.c4.xlarge, ml.c4.2xlarge, ml.c4.4xlarge, ml.c4.8xlarge, ml.p2.xlarge, ml.p2.8xlarge, ml.p2.16xlarge, ml.p3.2xlarge, ml.p3.8xlarge, ml.p3.16xlarge, ml.p3dn.24xlarge, ml.p4d.24xlarge, ml.c5.xlarge, ml.c5.2xlarge, ml.c5.4xlarge, ml.c5.9xlarge, ml.c5.18xlarge, ml.c5n.xlarge, ml.c5n.2xlarge, ml.c5n.4xlarge, ml.c5n.9xlarge, ml.c5n.18xlarge
instance_count: 1, # required
volume_size_in_gb: 1, # required
volume_kms_key_id: "KmsKeyId",
},
stopping_condition: { # required
max_runtime_in_seconds: 1,
max_wait_time_in_seconds: 1,
},
enable_network_isolation: false,
enable_inter_container_traffic_encryption: false,
enable_managed_spot_training: false,
checkpoint_config: {
s3_uri: "S3Uri", # required
local_path: "DirectoryPath",
},
},
training_job_definitions: [
{
definition_name: "HyperParameterTrainingJobDefinitionName",
tuning_objective: {
type: "Maximize", # required, accepts Maximize, Minimize
metric_name: "MetricName", # required
},
hyper_parameter_ranges: {
integer_parameter_ranges: [
{
name: "ParameterKey", # required
min_value: "ParameterValue", # required
max_value: "ParameterValue", # required
scaling_type: "Auto", # accepts Auto, Linear, Logarithmic, ReverseLogarithmic
},
],
continuous_parameter_ranges: [
{
name: "ParameterKey", # required
min_value: "ParameterValue", # required
max_value: "ParameterValue", # required
scaling_type: "Auto", # accepts Auto, Linear, Logarithmic, ReverseLogarithmic
},
],
categorical_parameter_ranges: [
{
name: "ParameterKey", # required
values: ["ParameterValue"], # required
},
],
},
static_hyper_parameters: {
"HyperParameterKey" => "HyperParameterValue",
},
algorithm_specification: { # required
training_image: "AlgorithmImage",
training_input_mode: "Pipe", # required, accepts Pipe, File
algorithm_name: "ArnOrName",
metric_definitions: [
{
name: "MetricName", # required
regex: "MetricRegex", # required
},
],
},
role_arn: "RoleArn", # required
input_data_config: [
{
channel_name: "ChannelName", # required
data_source: { # required
s3_data_source: {
s3_data_type: "ManifestFile", # required, accepts ManifestFile, S3Prefix, AugmentedManifestFile
s3_uri: "S3Uri", # required
s3_data_distribution_type: "FullyReplicated", # accepts FullyReplicated, ShardedByS3Key
attribute_names: ["AttributeName"],
},
file_system_data_source: {
file_system_id: "FileSystemId", # required
file_system_access_mode: "rw", # required, accepts rw, ro
file_system_type: "EFS", # required, accepts EFS, FSxLustre
directory_path: "DirectoryPath", # required
},
},
content_type: "ContentType",
compression_type: "None", # accepts None, Gzip
record_wrapper_type: "None", # accepts None, RecordIO
input_mode: "Pipe", # accepts Pipe, File
shuffle_config: {
seed: 1, # required
},
},
],
vpc_config: {
security_group_ids: ["SecurityGroupId"], # required
subnets: ["SubnetId"], # required
},
output_data_config: { # required
kms_key_id: "KmsKeyId",
s3_output_path: "S3Uri", # required
},
resource_config: { # required
instance_type: "ml.m4.xlarge", # required, accepts ml.m4.xlarge, ml.m4.2xlarge, ml.m4.4xlarge, ml.m4.10xlarge, ml.m4.16xlarge, ml.g4dn.xlarge, ml.g4dn.2xlarge, ml.g4dn.4xlarge, ml.g4dn.8xlarge, ml.g4dn.12xlarge, ml.g4dn.16xlarge, ml.m5.large, ml.m5.xlarge, ml.m5.2xlarge, ml.m5.4xlarge, ml.m5.12xlarge, ml.m5.24xlarge, ml.c4.xlarge, ml.c4.2xlarge, ml.c4.4xlarge, ml.c4.8xlarge, ml.p2.xlarge, ml.p2.8xlarge, ml.p2.16xlarge, ml.p3.2xlarge, ml.p3.8xlarge, ml.p3.16xlarge, ml.p3dn.24xlarge, ml.p4d.24xlarge, ml.c5.xlarge, ml.c5.2xlarge, ml.c5.4xlarge, ml.c5.9xlarge, ml.c5.18xlarge, ml.c5n.xlarge, ml.c5n.2xlarge, ml.c5n.4xlarge, ml.c5n.9xlarge, ml.c5n.18xlarge
instance_count: 1, # required
volume_size_in_gb: 1, # required
volume_kms_key_id: "KmsKeyId",
},
stopping_condition: { # required
max_runtime_in_seconds: 1,
max_wait_time_in_seconds: 1,
},
enable_network_isolation: false,
enable_inter_container_traffic_encryption: false,
enable_managed_spot_training: false,
checkpoint_config: {
s3_uri: "S3Uri", # required
local_path: "DirectoryPath",
},
},
],
warm_start_config: {
parent_hyper_parameter_tuning_jobs: [ # required
{
hyper_parameter_tuning_job_name: "HyperParameterTuningJobName",
},
],
warm_start_type: "IdenticalDataAndAlgorithm", # required, accepts IdenticalDataAndAlgorithm, TransferLearning
},
tags: [
{
key: "TagKey", # required
value: "TagValue", # required
},
],
}
Instance Attribute Summary collapse
-
#hyper_parameter_tuning_job_config ⇒ Types::HyperParameterTuningJobConfig
The HyperParameterTuningJobConfig object that describes the tuning job, including the search strategy, the objective metric used to evaluate training jobs, ranges of parameters to search, and resource limits for the tuning job.
-
#hyper_parameter_tuning_job_name ⇒ String
The name of the tuning job.
-
#tags ⇒ Array<Types::Tag>
An array of key-value pairs.
-
#training_job_definition ⇒ Types::HyperParameterTrainingJobDefinition
The HyperParameterTrainingJobDefinition object that describes the training jobs that this tuning job launches, including static hyperparameters, input data configuration, output data configuration, resource configuration, and stopping condition.
-
#training_job_definitions ⇒ Array<Types::HyperParameterTrainingJobDefinition>
A list of the HyperParameterTrainingJobDefinition objects launched for this tuning job.
-
#warm_start_config ⇒ Types::HyperParameterTuningJobWarmStartConfig
Specifies the configuration for starting the hyperparameter tuning job using one or more previous tuning jobs as a starting point.
Instance Attribute Details
#hyper_parameter_tuning_job_config ⇒ Types::HyperParameterTuningJobConfig
The HyperParameterTuningJobConfig object that describes the tuning job, including the search strategy, the objective metric used to evaluate training jobs, ranges of parameters to search, and resource limits for the tuning job. For more information, see How Hyperparameter Tuning Works.
#hyper_parameter_tuning_job_name ⇒ String
The name of the tuning job. This name is the prefix for the names of all training jobs that this tuning job launches. The name must be unique within the same AWS account and AWS Region. The name must have 1 to 32 characters. Valid characters are a-z, A-Z, 0-9, and : + = @ _ % - (hyphen). The name is not case sensitive.
#tags ⇒ Array<Types::Tag>
An array of key-value pairs. You can use tags to categorize your AWS resources in different ways, for example, by purpose, owner, or environment. For more information, see AWS Tagging Strategies.
Tags that you specify for the tuning job are also added to all training jobs that the tuning job launches.
#training_job_definition ⇒ Types::HyperParameterTrainingJobDefinition
The HyperParameterTrainingJobDefinition object that describes the training jobs that this tuning job launches, including static hyperparameters, input data configuration, output data configuration, resource configuration, and stopping condition.
#training_job_definitions ⇒ Array<Types::HyperParameterTrainingJobDefinition>
A list of the HyperParameterTrainingJobDefinition objects launched for this tuning job.
#warm_start_config ⇒ Types::HyperParameterTuningJobWarmStartConfig
Specifies the configuration for starting the hyperparameter tuning job using one or more previous tuning jobs as a starting point. The results of previous tuning jobs are used to inform which combinations of hyperparameters to search over in the new tuning job.
All training jobs launched by the new hyperparameter tuning job are
evaluated by using the objective metric. If you specify
IDENTICAL_DATA_AND_ALGORITHM
as the WarmStartType
value for the warm
start configuration, the training job that performs the best in the new
tuning job is compared to the best training jobs from the parent tuning
jobs. From these, the training job that performs the best as measured by
the objective metric is returned as the overall best training job.