Class: Aws::SageMaker::Types::AlgorithmSpecification

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/types.rb

Overview

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, FastFile
  metric_definitions: [
    {
      name: "MetricName", # required
      regex: "MetricRegex", # required
    },
  ],
  enable_sage_maker_metrics_time_series: false,
}

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.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#algorithm_nameString

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.

Returns:

  • (String)


372
373
374
375
376
377
378
379
380
# File 'gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/types.rb', line 372

class AlgorithmSpecification < Struct.new(
  :training_image,
  :algorithm_name,
  :training_input_mode,
  :metric_definitions,
  :enable_sage_maker_metrics_time_series)
  SENSITIVE = []
  include Aws::Structure
end

#enable_sage_maker_metrics_time_seriesBoolean

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:

    • Tensorflow (version >= 1.15)

    • MXNet (version >= 1.6)

    • PyTorch (version >= 1.3)

  • You specify at least one MetricDefinition

Returns:

  • (Boolean)


372
373
374
375
376
377
378
379
380
# File 'gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/types.rb', line 372

class AlgorithmSpecification < Struct.new(
  :training_image,
  :algorithm_name,
  :training_input_mode,
  :metric_definitions,
  :enable_sage_maker_metrics_time_series)
  SENSITIVE = []
  include Aws::Structure
end

#metric_definitionsArray<Types::MetricDefinition>

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.

Returns:



372
373
374
375
376
377
378
379
380
# File 'gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/types.rb', line 372

class AlgorithmSpecification < Struct.new(
  :training_image,
  :algorithm_name,
  :training_input_mode,
  :metric_definitions,
  :enable_sage_maker_metrics_time_series)
  SENSITIVE = []
  include Aws::Structure
end

#training_imageString

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. 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.

Returns:

  • (String)


372
373
374
375
376
377
378
379
380
# File 'gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/types.rb', line 372

class AlgorithmSpecification < Struct.new(
  :training_image,
  :algorithm_name,
  :training_input_mode,
  :metric_definitions,
  :enable_sage_maker_metrics_time_series)
  SENSITIVE = []
  include Aws::Structure
end

#training_input_modeString

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.

Returns:

  • (String)


372
373
374
375
376
377
378
379
380
# File 'gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/types.rb', line 372

class AlgorithmSpecification < Struct.new(
  :training_image,
  :algorithm_name,
  :training_input_mode,
  :metric_definitions,
  :enable_sage_maker_metrics_time_series)
  SENSITIVE = []
  include Aws::Structure
end