class Aws::SageMaker::Types::CreateHyperParameterTuningJobRequest
@note When making an API call, you may pass CreateHyperParameterTuningJobRequest
data as a 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", }, retry_strategy: { maximum_retry_attempts: 1, # required }, }, 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", }, retry_strategy: { maximum_retry_attempts: 1, # required }, }, ], 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 }, ], }
@!attribute [rw] hyper_parameter_tuning_job_name
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 Amazon Web Services account and Amazon Web Services 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. @return [String]
@!attribute [rw] hyper_parameter_tuning_job_config
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][1]. [1]: https://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-how-it-works.html @return [Types::HyperParameterTuningJobConfig]
@!attribute [rw] training_job_definition
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. @return [Types::HyperParameterTrainingJobDefinition]
@!attribute [rw] training_job_definitions
A list of the HyperParameterTrainingJobDefinition objects launched for this tuning job. @return [Array<Types::HyperParameterTrainingJobDefinition>]
@!attribute [rw] warm_start_config
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. <note markdown="1"> All training jobs launched by parent hyperparameter tuning jobs and the new hyperparameter tuning jobs count against the limit of training jobs for the tuning job. </note> @return [Types::HyperParameterTuningJobWarmStartConfig]
@!attribute [rw] tags
An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, for example, by purpose, owner, or environment. For more information, see [Tagging Amazon Web Services Resources][1]. Tags that you specify for the tuning job are also added to all training jobs that the tuning job launches. [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html @return [Array<Types::Tag>]
@see docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateHyperParameterTuningJobRequest AWS API Documentation
Constants
- SENSITIVE