class Aws::SageMaker::Types::TrainingJobDefinition

Defines the input needed to run a training job using the algorithm.

@note When making an API call, you may pass TrainingJobDefinition

data as a hash:

    {
      training_input_mode: "Pipe", # required, accepts Pipe, File
      hyper_parameters: {
        "HyperParameterKey" => "HyperParameterValue",
      },
      input_data_config: [ # required
        {
          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
          },
        },
      ],
      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,
      },
    }

@!attribute [rw] training_input_mode

The input mode used by the algorithm for the training job. For the
input modes that Amazon SageMaker algorithms support, see
[Algorithms][1].

If an algorithm supports the `File` input mode, Amazon SageMaker
downloads the training data from S3 to the provisioned ML storage
Volume, and mounts the directory to docker volume for training
container. If an algorithm supports the `Pipe` input mode, Amazon
SageMaker streams data directly from S3 to the container.

[1]: https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html
@return [String]

@!attribute [rw] hyper_parameters

The hyperparameters used for the training job.
@return [Hash<String,String>]

@!attribute [rw] input_data_config

An array of `Channel` objects, each of which specifies an input
source.
@return [Array<Types::Channel>]

@!attribute [rw] output_data_config

the path to the S3 bucket where you want to store model artifacts.
Amazon SageMaker creates subfolders for the artifacts.
@return [Types::OutputDataConfig]

@!attribute [rw] resource_config

The resources, including the ML compute instances and ML storage
volumes, to use for model training.
@return [Types::ResourceConfig]

@!attribute [rw] stopping_condition

Specifies a limit to how long a model training job can run. It also
specifies how long a managed Spot training job has to complete. When
the job reaches the time limit, Amazon SageMaker ends the training
job. Use this API to cap model training costs.

To stop a job, Amazon SageMaker sends the algorithm the SIGTERM
signal, which delays job termination for 120 seconds. Algorithms can
use this 120-second window to save the model artifacts.
@return [Types::StoppingCondition]

@see docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/TrainingJobDefinition AWS API Documentation

Constants

SENSITIVE