Class: Aws::SageMaker::Types::AlgorithmSpecification
- Inherits:
-
Struct
- Object
- Struct
- Aws::SageMaker::Types::AlgorithmSpecification
- Includes:
- Aws::Structure
- Defined in:
- lib/aws-sdk-sagemaker/types.rb
Overview
Specifies the training algorithm to use in a [CreateTrainingJob] request.
For more information about algorithms provided by 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/APIReference/API_CreateTrainingJob.html [2]: docs.aws.amazon.com/sagemaker/latest/dg/algos.html [3]: docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html
Constant Summary collapse
- SENSITIVE =
[]
Instance Attribute Summary collapse
-
#algorithm_name ⇒ String
The name of the algorithm resource to use for the training job.
-
#container_arguments ⇒ Array<String>
The arguments for a container used to run a training job.
-
#container_entrypoint ⇒ Array<String>
The [entrypoint script for a Docker container] used to run a training job.
-
#enable_sage_maker_metrics_time_series ⇒ Boolean
To generate and save time-series metrics during training, set to ‘true`.
-
#metric_definitions ⇒ Array<Types::MetricDefinition>
A list of metric definition objects.
-
#training_image ⇒ String
The registry path of the Docker image that contains the training algorithm.
-
#training_image_config ⇒ Types::TrainingImageConfig
The configuration to use an image from a private Docker registry for a training job.
-
#training_input_mode ⇒ String
The training input mode that the algorithm supports.
Instance Attribute Details
#algorithm_name ⇒ String
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.
<note markdown=“1”> You must specify either the algorithm name to the ‘AlgorithmName` parameter or the image URI of the algorithm container to the `TrainingImage` parameter.
Note that the `AlgorithmName` parameter is mutually exclusive with
the ‘TrainingImage` parameter. If you specify a value for the `AlgorithmName` parameter, you can’t specify a value for ‘TrainingImage`, and vice versa.
If you specify values for both parameters, the training job might
break; if you don’t specify any value for both parameters, the training job might raise a ‘null` error.
</note>
472 473 474 475 476 477 478 479 480 481 482 483 |
# File 'lib/aws-sdk-sagemaker/types.rb', line 472 class AlgorithmSpecification < Struct.new( :training_image, :algorithm_name, :training_input_mode, :metric_definitions, :enable_sage_maker_metrics_time_series, :container_entrypoint, :container_arguments, :training_image_config) SENSITIVE = [] include Aws::Structure end |
#container_arguments ⇒ Array<String>
The arguments for a container used to run a training job. See [How Amazon SageMaker Runs Your Training Image] for additional information.
[1]: docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-training-algo-dockerfile.html
472 473 474 475 476 477 478 479 480 481 482 483 |
# File 'lib/aws-sdk-sagemaker/types.rb', line 472 class AlgorithmSpecification < Struct.new( :training_image, :algorithm_name, :training_input_mode, :metric_definitions, :enable_sage_maker_metrics_time_series, :container_entrypoint, :container_arguments, :training_image_config) SENSITIVE = [] include Aws::Structure end |
#container_entrypoint ⇒ Array<String>
The [entrypoint script for a Docker container] used to run a training job. This script takes precedence over the default train processing instructions. See [How Amazon SageMaker Runs Your Training Image] for more information.
[1]: docs.docker.com/engine/reference/builder/ [2]: docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-training-algo-dockerfile.html
472 473 474 475 476 477 478 479 480 481 482 483 |
# File 'lib/aws-sdk-sagemaker/types.rb', line 472 class AlgorithmSpecification < Struct.new( :training_image, :algorithm_name, :training_input_mode, :metric_definitions, :enable_sage_maker_metrics_time_series, :container_entrypoint, :container_arguments, :training_image_config) SENSITIVE = [] include Aws::Structure end |
#enable_sage_maker_metrics_time_series ⇒ Boolean
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 SageMaker built-in algorithms
-
You use one of the following [Prebuilt SageMaker Docker Images]:
-
Tensorflow (version >= 1.15)
-
MXNet (version >= 1.6)
-
PyTorch (version >= 1.3)
-
-
You specify at least one [MetricDefinition]
[1]: docs.aws.amazon.com/sagemaker/latest/dg/pre-built-containers-frameworks-deep-learning.html [2]: docs.aws.amazon.com/sagemaker/latest/APIReference/API_MetricDefinition.html
472 473 474 475 476 477 478 479 480 481 482 483 |
# File 'lib/aws-sdk-sagemaker/types.rb', line 472 class AlgorithmSpecification < Struct.new( :training_image, :algorithm_name, :training_input_mode, :metric_definitions, :enable_sage_maker_metrics_time_series, :container_entrypoint, :container_arguments, :training_image_config) SENSITIVE = [] include Aws::Structure end |
#metric_definitions ⇒ Array<Types::MetricDefinition>
A list of metric definition objects. Each object specifies the metric name and regular expressions used to parse algorithm logs. SageMaker publishes each metric to Amazon CloudWatch.
472 473 474 475 476 477 478 479 480 481 482 483 |
# File 'lib/aws-sdk-sagemaker/types.rb', line 472 class AlgorithmSpecification < Struct.new( :training_image, :algorithm_name, :training_input_mode, :metric_definitions, :enable_sage_maker_metrics_time_series, :container_entrypoint, :container_arguments, :training_image_config) SENSITIVE = [] include Aws::Structure end |
#training_image ⇒ String
The registry path of the Docker image that contains the training algorithm. For information about docker registry paths for SageMaker built-in algorithms, see [Docker Registry Paths and Example Code] in the *Amazon SageMaker developer guide*. SageMaker supports both ‘registry/repository` and `registry/repository` image path formats. For more information about using your custom training container, see [Using Your Own Algorithms with Amazon SageMaker].
<note markdown=“1”> You must specify either the algorithm name to the ‘AlgorithmName` parameter or the image URI of the algorithm container to the `TrainingImage` parameter.
For more information, see the note in the `AlgorithmName` parameter
description.
</note>
[1]: docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html [2]: docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html
472 473 474 475 476 477 478 479 480 481 482 483 |
# File 'lib/aws-sdk-sagemaker/types.rb', line 472 class AlgorithmSpecification < Struct.new( :training_image, :algorithm_name, :training_input_mode, :metric_definitions, :enable_sage_maker_metrics_time_series, :container_entrypoint, :container_arguments, :training_image_config) SENSITIVE = [] include Aws::Structure end |
#training_image_config ⇒ Types::TrainingImageConfig
The configuration to use an image from a private Docker registry for a training job.
472 473 474 475 476 477 478 479 480 481 482 483 |
# File 'lib/aws-sdk-sagemaker/types.rb', line 472 class AlgorithmSpecification < Struct.new( :training_image, :algorithm_name, :training_input_mode, :metric_definitions, :enable_sage_maker_metrics_time_series, :container_entrypoint, :container_arguments, :training_image_config) SENSITIVE = [] include Aws::Structure end |
#training_input_mode ⇒ String
The training input mode that the algorithm supports. For more information about input modes, see [Algorithms].
**Pipe mode**
If an algorithm supports ‘Pipe` mode, Amazon SageMaker streams data directly from Amazon S3 to the container.
**File mode**
If an algorithm supports ‘File` mode, SageMaker downloads the training data from S3 to the provisioned ML storage volume, and mounts the directory to the Docker volume for the training container.
You must provision the ML storage volume with sufficient capacity to accommodate the data downloaded from S3. In addition to the training data, the ML storage volume also stores the output model. The algorithm container uses the ML storage volume to also store intermediate information, if any.
For distributed algorithms, training data is distributed uniformly. Your training duration is predictable if the input data objects sizes are approximately the same. 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 when one host in a training cluster is overloaded, thus becoming a bottleneck in training.
**FastFile mode**
If an algorithm supports ‘FastFile` mode, SageMaker streams data directly from S3 to the container with no code changes, and provides file system access to the data. Users can author their training script to interact with these files as if they were stored on disk.
‘FastFile` mode works best when the data is read sequentially. Augmented manifest files aren’t supported. The startup time is lower when there are fewer files in the S3 bucket provided.
472 473 474 475 476 477 478 479 480 481 482 483 |
# File 'lib/aws-sdk-sagemaker/types.rb', line 472 class AlgorithmSpecification < Struct.new( :training_image, :algorithm_name, :training_input_mode, :metric_definitions, :enable_sage_maker_metrics_time_series, :container_entrypoint, :container_arguments, :training_image_config) SENSITIVE = [] include Aws::Structure end |