Skip to main content

Open source library for training and deploying models on Amazon SageMaker.

Project description

SageMaker

SageMaker Python SDK

Latest Version Conda-Forge Version Supported Python Versions Code style: black Documentation Status CI Health

SageMaker Python SDK is an open source library for training and deploying machine learning models on Amazon SageMaker.

With the SDK, you can train and deploy models using popular deep learning frameworks Apache MXNet and TensorFlow. You can also train and deploy models with Amazon algorithms, which are scalable implementations of core machine learning algorithms that are optimized for SageMaker and GPU training. If you have your own algorithms built into SageMaker compatible Docker containers, you can train and host models using these as well.

For detailed documentation, including the API reference, see Read the Docs.

Table of Contents

  1. Installing SageMaker Python SDK

  2. Using the SageMaker Python SDK

Installing the SageMaker Python SDK Train

You can install from source by cloning this repository and running a pip install command in the root directory of the repository:

git clone https://github.com/aws/sagemaker-python-sdk-staging.git
cd sagemaker-python-sdk-staging/sagemaker_train
pip install .

Supported Operating Systems

SageMaker Python SDK supports Unix/Linux and Mac.

Supported Python Versions

SageMaker Python SDK is tested on:

  • Python 3.10

  • Python 3.11

  • Python 3.12

Telemetry

The sagemaker library has telemetry enabled to help us better understand user needs, diagnose issues, and deliver new features. This telemetry tracks the usage of various SageMaker functions.

If you prefer to opt out of telemetry, you can easily do so by setting the TelemetryOptOut parameter to true in the SDK defaults configuration. For detailed instructions, please visit Configuring and using defaults with the SageMaker Python SDK.

AWS Permissions

As a managed service, Amazon SageMaker performs operations on your behalf on the AWS hardware that is managed by Amazon SageMaker. Amazon SageMaker can perform only operations that the user permits. You can read more about which permissions are necessary in the AWS Documentation.

The SageMaker Python SDK should not require any additional permissions aside from what is required for using SageMaker. However, if you are using an IAM role with a path in it, you should grant permission for iam:GetRole.

Licensing

SageMaker Python SDK is licensed under the Apache 2.0 License. It is copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. The license is available at: http://aws.amazon.com/apache2.0/

Running tests

SageMaker Python SDK has unit tests and integration tests.

You can install the libraries needed to run the tests by running pip install --upgrade .[test] or, for Zsh users: pip install --upgrade .\[test\]

Unit tests

We run unit tests with tox, which is a program that lets you run unit tests for multiple Python versions, and also make sure the code fits our style guidelines. We run tox with all of our supported Python versions, so to run unit tests with the same configuration we do, you need to have interpreters for those Python versions installed.

To run the unit tests with tox, run:

tox tests/unit

Integration tests

To run the integration tests, the following prerequisites must be met

  1. AWS account credentials are available in the environment for the boto3 client to use.

  2. The AWS account has an IAM role named SageMakerRole. It should have the AmazonSageMakerFullAccess policy attached as well as a policy with the necessary permissions to use Elastic Inference.

  3. To run remote_function tests, dummy ecr repo should be created. It can be created by running -

    aws ecr create-repository --repository-name remote-function-dummy-container

We recommend selectively running just those integration tests you’d like to run. You can filter by individual test function names with:

tox -- -k 'test_i_care_about'

You can also run all of the integration tests by running the following command, which runs them in sequence, which may take a while:

tox -- tests/integ

You can also run them in parallel:

tox -- -n auto tests/integ

Git Hooks

to enable all git hooks in the .githooks directory, run these commands in the repository directory:

find .git/hooks -type l -exec rm {} \;
find .githooks -type f -exec ln -sf ../../{} .git/hooks/ \;

To enable an individual git hook, simply move it from the .githooks/ directory to the .git/hooks/ directory.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sagemaker_train-1.16.0.tar.gz (336.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sagemaker_train-1.16.0-py3-none-any.whl (413.5 kB view details)

Uploaded Python 3

File details

Details for the file sagemaker_train-1.16.0.tar.gz.

File metadata

  • Download URL: sagemaker_train-1.16.0.tar.gz
  • Upload date:
  • Size: 336.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for sagemaker_train-1.16.0.tar.gz
Algorithm Hash digest
SHA256 b23cc8b28e06fbd963cdac008737c33d08af67b51eedb74164bf39fa843942a3
MD5 622c801450f03e170785ed59ac35ce7f
BLAKE2b-256 50ed81d5ff0cee7e912795133f3f2cc084aa6d75091f97f4e7c766a66aa7b60c

See more details on using hashes here.

File details

Details for the file sagemaker_train-1.16.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sagemaker_train-1.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 89745ddd79f404942120c0cd18a26f050f51c3822a21f79a14e42cb627603d9c
MD5 eb3103ced54bfa69e1c2dacae3f749e8
BLAKE2b-256 e0bba516ae08c9d684c1c2dd9b13d6ee5e7c0d8f30910a7ea3feac7fbe2d666f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page