class Aws::SageMaker::Types::AlgorithmSpecification

Specifies the training algorithm to use in a CreateTrainingJob request.

For more information about algorithms provided by Amazon SageMaker, see [Algorithms]. For information about using your own algorithms, see [Using Your Own Algorithms with Amazon SageMaker].

[1]: docs.aws.amazon.com/sagemaker/latest/dg/algos.html [2]: docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html

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

data as a hash:

    {
      training_image: "AlgorithmImage",
      algorithm_name: "ArnOrName",
      training_input_mode: "Pipe", # required, accepts Pipe, File
      metric_definitions: [
        {
          name: "MetricName", # required
          regex: "MetricRegex", # required
        },
      ],
      enable_sage_maker_metrics_time_series: false,
    }

@!attribute [rw] training_image

The registry path of the Docker image that contains the training
algorithm. For information about docker registry paths for built-in
algorithms, see [Algorithms Provided by Amazon SageMaker: Common
Parameters][1]. Amazon SageMaker supports both
`registry/repository[:tag]` and `registry/repository[@digest]` image
path formats. For more information, see [Using Your Own Algorithms
with Amazon SageMaker][2].

[1]: https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html
[2]: https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html
@return [String]

@!attribute [rw] algorithm_name

The name of the algorithm resource to use for the training job. This
must be an algorithm resource that you created or subscribe to on
Amazon Web Services Marketplace. If you specify a value for this
parameter, you can't specify a value for `TrainingImage`.
@return [String]

@!attribute [rw] training_input_mode

The input mode that the algorithm supports. 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.

In File mode, make sure you provision ML storage volume with
sufficient capacity to accommodate the data download from S3. In
addition to the training data, the ML storage volume also stores the
output model. The algorithm container use ML storage volume to also
store intermediate information, if any.

For distributed algorithms using File mode, training data is
distributed uniformly, and your training duration is predictable if
the input data objects size is approximately same. Amazon SageMaker
does not split the files any further for model training. If the
object sizes are skewed, training won't be optimal as the data
distribution is also skewed where one host in a training cluster is
overloaded, thus becoming bottleneck in training.

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

@!attribute [rw] metric_definitions

A list of metric definition objects. Each object specifies the
metric name and regular expressions used to parse algorithm logs.
Amazon SageMaker publishes each metric to Amazon CloudWatch.
@return [Array<Types::MetricDefinition>]

@!attribute [rw] enable_sage_maker_metrics_time_series

To generate and save time-series metrics during training, set to
`true`. The default is `false` and time-series metrics aren't
generated except in the following cases:

* You use one of the Amazon SageMaker built-in algorithms

* You use one of the following [Prebuilt Amazon SageMaker Docker
  Images][1]\:

  * Tensorflow (version &gt;= 1.15)

  * MXNet (version &gt;= 1.6)

  * PyTorch (version &gt;= 1.3)

* You specify at least one MetricDefinition

[1]: https://docs.aws.amazon.com/sagemaker/latest/dg/pre-built-containers-frameworks-deep-learning.html
@return [Boolean]

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

Constants

SENSITIVE