Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: CC-BY-SA-4.0
You can create use an algorithm resource to create a training job by using the Amazon SageMaker console, the low-level Amazon SageMaker API, or the Amazon SageMaker Python SDK.
Topics + Use an Algorithm to Run a Training Job (Console) + Use an Algorithm to Run a Training Job (API) + Use an Algorithm to Run a Training Job (Amazon SageMaker Python SDK)
To use an algorithm to run a training job (console)
Open the Amazon SageMaker console at https://console.aws.amazon.com/sagemaker/.
Choose Algorithms.
Choose an algorithm that you created from the list on the My algorithms tab or choose an algorithm that you subscribed to on the AWS Marketplace subscriptions tab.
Choose Create training job.
The algorithm you chose will automatically be selected.
On the Create training job page, provide the following information:
For Job name, type a name for the training job.
For IAM role, choose an IAM role that has the required permissions to run training jobs in Amazon SageMaker, or choose Create a new role to allow Amazon SageMaker to create a role that has the AmazonSageMakerFullAccess
managed policy attached. For information, see Amazon SageMaker Roles.
For Resource configuration, provide the following information:
For Instance type, choose the instance type to use for training.
For Instance count, type the number of ML instances to use for the training job.
For Additional volume per instance (GB), type the size of the ML storage volume that you want to provision. ML storage volumes store model artifacts and incremental states.
For Encryption key, if you want Amazon SageMaker to use an AWS Key Management Service key to encrypt data in the ML storage volume attached to the training instance, specify the key.
For Stopping condition, specify the maximum amount of time in seconds, minutes, hours, or days, that you want the training job to run.
For VPC, choose a Amazon VPC that you want to allow your training container to access. For more information, see Give Amazon SageMaker Training Jobs Access to Resources in Your Amazon VPC.
For Hyperparameters, specify the values of the hyperparameters to use for the training job.
For Input data configuration, specify the following values for each channel of input data to use for the training job. You can see what channels the algorithm you’re using for training sports, and the content type, supported compression type, and supported input modes for each channel, under Channel specification section of the Algorithm summary page for the algorithm.
For Channel name, type the name of the input channel.
For Content type, type the content type of the data that the algorithm expects for the channel.
For Compression type, choose the data compression type to use, if any.
For Record wrapper, choose RecordIO
if the algorithm expects data in the RecordIO
format.
For S3 data type, S3 data distribution type, and S3 location, specify the appropriate values. For information about what these values mean, see S3DataSource.
For Input mode, choose File to download the data from to the provisioned ML storage volume, and mount the directory to a Docker volume. Choose PipeTo stream data directly from Amazon S3 to the container.
To add another input channel, choose Add channel. If you are finished adding input channels, choose Done.
For Output location, specify the following values:
For S3 output path, choose the S3 location where the training job stores output, such as model artifacts. Note
You use the model artifacts stored at this location to create a model or model package from this training job.
For Encryption key, if you want Amazon SageMaker to use a AWS KMS key to encrypt output data at rest in the S3 location.
For Tags, specify one or more tags to manage the training job. Each tag consists of a key and an optional value. Tag keys must be unique per resource. For more information about tags, see For more information, see AWS Tagging Strategies.
Choose Create training job to run the training job.
To use an algorithm to run a training job by using the Amazon SageMaker API, specify either the name or the Amazon Resource Name (ARN) as the AlgorithmName
field of the AlgorithmSpecification object that you pass to CreateTrainingJob. For information about training models in Amazon SageMaker, see Train a Model with Amazon SageMaker.
Use an algorithm that you created or subscribed to on AWS Marketplace to create a training job, create an AlgorithmEstimator
object and specify either the Amazon Resource Name (ARN) or the name of the algorithm as the value of the algorithm_arn
argument. Then call the fit
method of the estimator. For example:
from sagemaker import AlgorithmEstimator
data_path = os.path.join(DATA_DIR, 'marketplace', 'training')
algo = AlgorithmEstimator(
algorithm_arn='arn:aws:sagemaker:us-east-2:012345678901:algorithm/my-algorithm',
role='SageMakerRole',
train_instance_count=1,
train_instance_type='ml.c4.xlarge',
sagemaker_session=sagemaker_session,
base_job_name='test-marketplace')
train_input = algo.sagemaker_session.upload_data(
path=data_path, key_prefix='integ-test-data/marketplace/train')
algo.fit({'training': train_input})