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