diff --git a/README.rst b/README.rst index 9e362053b1..7482dd5667 100644 --- a/README.rst +++ b/README.rst @@ -10,10 +10,6 @@ SageMaker Python SDK :target: https://pypi.python.org/pypi/sagemaker :alt: Latest Version -.. image:: https://img.shields.io/conda/vn/conda-forge/sagemaker-python-sdk.svg - :target: https://anaconda.org/conda-forge/sagemaker-python-sdk - :alt: Conda-Forge Version - .. image:: https://img.shields.io/pypi/pyversions/sagemaker.svg :target: https://pypi.python.org/pypi/sagemaker :alt: Supported Python Versions @@ -32,7 +28,7 @@ SageMaker Python SDK 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**. +With the SDK, you can train and deploy models using popular deep learning frameworks **Apache MXNet** and **PyTorch**. 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. @@ -49,34 +45,155 @@ Version 3.0.0 represents a significant milestone in our product's evolution. Thi **Important: Please review these breaking changes before upgrading.** * Older interfaces such as Estimator, Model, Predictor and all their subclasses will not be supported in V3. -* Please review documentation of interfaces for parameters support (especially ModelBuilder) in our V3 examples folder. +* Please see our `V3 examples folder `__ for example notebooks and usage patterns. -SageMaker V2 Examples + +Migrating to V3 +---------------- + +**Upgrading to 3.x** + +To upgrade to the latest version of SageMaker Python SDK 3.x: + +:: + + pip install --upgrade sagemaker + +If you prefer to downgrade to the 2.x version: + +:: + + pip install sagemaker==2.* + +See `SageMaker V2 Examples <#sagemaker-v2-examples>`__ for V2 documentation and examples. + +**Key Benefits of 3.x** + +* **Modular Architecture**: Separate PyPI packages for core, training, and serving capabilities + + * `sagemaker-core `__ + * `sagemaker-train `__ + * `sagemaker-serve `__ + * `sagemaker-mlops `__ + +* **Unified Training & Inference**: Single classes (ModelTrainer, ModelBuilder) replace multiple framework-specific classes +* **Object-Oriented API**: Structured interface with auto-generated configs aligned with AWS APIs +* **Simplified Workflows**: Reduced boilerplate and more intuitive interfaces + +**Training Experience** + +V3 introduces the unified ModelTrainer class to reduce complexity of initial setup and deployment for model training. This replaces the V2 Estimator class and framework-specific classes (PyTorchEstimator, SKLearnEstimator, etc.). + +This example shows how to train a model using a custom training container with training data from S3. + +*SageMaker Python SDK 2.x:* + +.. code:: python + + from sagemaker.estimator import Estimator + estimator = Estimator( + image_uri="my-training-image", + role="arn:aws:iam::123456789012:role/SageMakerRole", + instance_count=1, + instance_type="ml.m5.xlarge", + output_path="s3://my-bucket/output" + ) + estimator.fit({"training": "s3://my-bucket/train"}) + +*SageMaker Python SDK 3.x:* + +.. code:: python + + from sagemaker.train import ModelTrainer + from sagemaker.train.configs import InputData + + trainer = ModelTrainer( + training_image="my-training-image", + role="arn:aws:iam::123456789012:role/SageMakerRole" + ) + + train_data = InputData( + channel_name="training", + data_source="s3://my-bucket/train" + ) + + trainer.train(input_data_config=[train_data]) + +**See more examples:** `SageMaker V3 Examples <#sagemaker-v3-examples>`__ + +**Inference Experience** + +V3 introduces the unified ModelBuilder class for model deployment and inference. This replaces the V2 Model class and framework-specific classes (PyTorchModel, TensorFlowModel, SKLearnModel, XGBoostModel, etc.). + +This example shows how to deploy a trained model for real-time inference. + +*SageMaker Python SDK 2.x:* + +.. code:: python + + from sagemaker.model import Model + from sagemaker.predictor import Predictor + model = Model( + image_uri="my-inference-image", + model_data="s3://my-bucket/model.tar.gz", + role="arn:aws:iam::123456789012:role/SageMakerRole" + ) + predictor = model.deploy( + initial_instance_count=1, + instance_type="ml.m5.xlarge" + ) + result = predictor.predict(data) + +*SageMaker Python SDK 3.x:* + +.. code:: python + + from sagemaker.serve import ModelBuilder + model_builder = ModelBuilder( + model="my-model", + model_path="s3://my-bucket/model.tar.gz" + ) + endpoint = model_builder.build() + result = endpoint.invoke(...) + +**See more examples:** `SageMaker V3 Examples <#sagemaker-v3-examples>`__ + +SageMaker V3 Examples --------------------- -#. `Using the SageMaker Python SDK `__ -#. `Using MXNet `__ -#. `Using TensorFlow `__ -#. `Using Chainer `__ -#. `Using PyTorch `__ -#. `Using Scikit-learn `__ -#. `Using XGBoost `__ -#. `SageMaker Reinforcement Learning Estimators `__ -#. `SageMaker SparkML Serving <#sagemaker-sparkml-serving>`__ -#. `Amazon SageMaker Built-in Algorithm Estimators `__ -#. `Using SageMaker AlgorithmEstimators `__ -#. `Consuming SageMaker Model Packages `__ -#. `BYO Docker Containers with SageMaker Estimators `__ -#. `SageMaker Automatic Model Tuning `__ -#. `SageMaker Batch Transform `__ -#. `Secure Training and Inference with VPC `__ -#. `BYO Model `__ -#. `Inference Pipelines `__ -#. `Amazon SageMaker Operators in Apache Airflow `__ -#. `SageMaker Autopilot `__ -#. `Model Monitoring `__ -#. `SageMaker Debugger `__ -#. `SageMaker Processing `__ +**Training Examples** + +#. `Custom Distributed Training Example `__ +#. `Distributed Local Training Example `__ +#. `Hyperparameter Training Example `__ +#. `JumpStart Training Example `__ +#. `Local Training Example `__ + +**Inference Examples** + +#. `HuggingFace Example `__ +#. `In-Process Mode Example `__ +#. `Inference Spec Example `__ +#. `JumpStart E2E Training Example `__ +#. `JumpStart Example `__ +#. `Local Mode Example `__ +#. `Optimize Example `__ +#. `Train Inference E2E Example `__ + +**ML Ops Examples** + +#. `V3 Hyperparameter Tuning Example `__ +#. `V3 Hyperparameter Tuning Pipeline `__ +#. `V3 Model Registry Example `__ +#. `V3 PyTorch Processing Example `__ +#. `V3 Pipeline Train Create Registry `__ +#. `V3 Processing Job Sklearn `__ +#. `V3 SageMaker Clarify `__ +#. `V3 Transform Job Example `__ + +**Looking for V2 Examples?** See `SageMaker V2 Examples <#sagemaker-v2-examples>`__ below. + + Installing the SageMaker Python SDK @@ -265,3 +382,31 @@ For more information about the different ``content-type`` and ``Accept`` formats ``schema`` that SageMaker SparkML Serving recognizes, please see `SageMaker SparkML Serving Container`_. .. _SageMaker SparkML Serving Container: https://github.com/aws/sagemaker-sparkml-serving-container + + +SageMaker V2 Examples +--------------------- + +#. `Using the SageMaker Python SDK `__ +#. `Using MXNet `__ +#. `Using TensorFlow `__ +#. `Using Chainer `__ +#. `Using PyTorch `__ +#. `Using Scikit-learn `__ +#. `Using XGBoost `__ +#. `SageMaker Reinforcement Learning Estimators `__ +#. `SageMaker SparkML Serving <#sagemaker-sparkml-serving>`__ +#. `Amazon SageMaker Built-in Algorithm Estimators `__ +#. `Using SageMaker AlgorithmEstimators `__ +#. `Consuming SageMaker Model Packages `__ +#. `BYO Docker Containers with SageMaker Estimators `__ +#. `SageMaker Automatic Model Tuning `__ +#. `SageMaker Batch Transform `__ +#. `Secure Training and Inference with VPC `__ +#. `BYO Model `__ +#. `Inference Pipelines `__ +#. `Amazon SageMaker Operators in Apache Airflow `__ +#. `SageMaker Autopilot `__ +#. `Model Monitoring `__ +#. `SageMaker Debugger `__ +#. `SageMaker Processing `__ \ No newline at end of file