View a markdown version of this page

AWS::SageMaker::TrainingJob Channel - AWS CloudFormation

This is the new CloudFormation Template Reference Guide. Please update your bookmarks and links. For help getting started with CloudFormation, see the AWS CloudFormation User Guide.

AWS::SageMaker::TrainingJob Channel

A channel is a named input source that training algorithms can consume.

Syntax

To declare this entity in your CloudFormation template, use the following syntax:

JSON

{ "ChannelName" : String, "CompressionType" : String, "ContentType" : String, "DataSource" : DataSource, "InputMode" : String, "RecordWrapperType" : String, "ShuffleConfig" : ShuffleConfig }

Properties

ChannelName

The name of the channel.

Required: Yes

Type: String

Pattern: [A-Za-z0-9\.\-_]+

Minimum: 1

Maximum: 64

Update requires: Replacement

CompressionType

If training data is compressed, the compression type. The default value is None. CompressionType is used only in Pipe input mode. In File mode, leave this field unset or set it to None.

Required: No

Type: String

Allowed values: None | Gzip

Update requires: Replacement

ContentType

The MIME type of the data.

Required: No

Type: String

Pattern: .*

Maximum: 256

Update requires: Replacement

DataSource

The location of the channel data.

Required: Yes

Type: DataSource

Update requires: Replacement

InputMode

(Optional) The input mode to use for the data channel in a training job. If you don't set a value for InputMode, SageMaker uses the value set for TrainingInputMode. Use this parameter to override the TrainingInputMode setting in a AlgorithmSpecification request when you have a channel that needs a different input mode from the training job's general setting. To download the data from Amazon Simple Storage Service (Amazon S3) to the provisioned ML storage volume, and mount the directory to a Docker volume, use File input mode. To stream data directly from Amazon S3 to the container, choose Pipe input mode.

To use a model for incremental training, choose File input model.

Required: No

Type: String

Allowed values: Pipe | File | FastFile

Update requires: Replacement

RecordWrapperType

Specify RecordIO as the value when input data is in raw format but the training algorithm requires the RecordIO format. In this case, SageMaker wraps each individual S3 object in a RecordIO record. If the input data is already in RecordIO format, you don't need to set this attribute. For more information, see Create a Dataset Using RecordIO.

In File mode, leave this field unset or set it to None.

Required: No

Type: String

Allowed values: None | RecordIO

Update requires: Replacement

ShuffleConfig

A configuration for a shuffle option for input data in a channel. If you use S3Prefix for S3DataType, this shuffles the results of the S3 key prefix matches. If you use ManifestFile, the order of the S3 object references in the ManifestFile is shuffled. If you use AugmentedManifestFile, the order of the JSON lines in the AugmentedManifestFile is shuffled. The shuffling order is determined using the Seed value.

For Pipe input mode, shuffling is done at the start of every epoch. With large datasets this ensures that the order of the training data is different for each epoch, it helps reduce bias and possible overfitting. In a multi-node training job when ShuffleConfig is combined with S3DataDistributionType of ShardedByS3Key, the data is shuffled across nodes so that the content sent to a particular node on the first epoch might be sent to a different node on the second epoch.

Required: No

Type: ShuffleConfig

Update requires: Replacement