SageMaker Training Toolkit

5.1.1 · active · verified Thu Apr 16

The `sagemaker-training` library provides the core toolkit that runs inside Amazon SageMaker training containers. It handles downloading input data, parsing hyperparameters, executing user training scripts, and uploading model artifacts. It's currently at version 5.1.1 and has a relatively active release cadence, with minor versions released every few weeks/months and major versions less frequently.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart demonstrates a typical SageMaker training script entry point. It uses `sagemaker_training.environment` to retrieve hyperparameters and input/output paths, which are crucial for running user code within a SageMaker training container. The script should be placed at the root of your training code archive.

from sagemaker_training import environment
import os

def train():
    # Get SageMaker training environment details
    env = environment.get_environment()

    # Access hyperparameters
    hyperparameters = env.hyperparameters
    learning_rate = hyperparameters.get('learning_rate', 0.01)

    # Access input data paths
    train_data_path = os.path.join(env.channel_input_dirs['training'], 'data.csv')

    # Access model output path
    model_dir = env.model_dir

    print(f"Learning Rate: {learning_rate}")
    print(f"Training data path: {train_data_path}")
    print(f"Model output directory: {model_dir}")

    # Your training logic here
    # Example: Save a dummy model artifact
    with open(os.path.join(model_dir, 'model.txt'), 'w') as f:
        f.write('My trained model output')

if __name__ == '__main__':
    train()

view raw JSON →