使用常见深度学习框架和Amazon优化算法在SageMaker上训练和部署模型
SageMaker Python SDK是一个开源库,用于在Amazon SageMaker上训练和部署机器学习模型。支持包括Apache MXNet和TensorFlow在内的主流深度学习框架,并优化了适用于SageMaker和GPU训练的Amazon算法。还支持用户使用自定义的Docker容器进行模型的训练和托管。提供详细的文档和API参考指南,介绍如何安装、使用和配置该SDK。兼容操作系统包括Unix/Linux和Mac,并支持Python 3.8到3.11版本。
SageMaker Python SDK 是一个开源库,旨在简化在 Amazon SageMaker 上进行机器学习模型训练和部署的全过程。通过该 SDK,用户可以使用流行的深度学习框架,如 Apache MXNet 和 TensorFlow,来训练和部署模型。此外,用户还可以利用 Amazon 为 SageMaker 和 GPU 训练优化的可扩展算法,甚至可以使用自定义的 Docker 容器中的算法在 SageMaker 上进行训练和托管。
SageMaker Python SDK 支持多种机器学习和深度学习框架,包括:
此外,SDK 同时支持使用 Amazon SageMaker 内置算法、强化学习估算器以及 SparkML 模型的托管和推理。
SageMaker 提供了自动模型调优功能,可以帮助用户自动化调整模型的超参数,以提升模型性能。
用户可以使用自己构建的、符合 SageMaker 规范的 Docker 容器进行算法训练和部署。
SageMaker Python SDK 可以通过 Python 包管理工具 pip 进行安装:
pip install sagemaker
用户也可以从源代码进行安装,步骤如下:
git clone https://github.com/aws/sagemaker-python-sdk.git cd sagemaker-python-sdk pip install .
该 SDK 支持 Unix/Linux 和 Mac 操作系统,并在以下 Python 版本上经过测试:
SageMaker SDK 默认启用 telemetry 功能,以帮助开发团队更好地了解用户需求,诊断问题及推出新特性。用户可以通过设置 TelemetryOptOut
参数为 true
来选择退出此功能。
作为一种托管服务,Amazon SageMaker 在 AWS 硬件上代表用户执行操作。这些操作的前提是用户已授予相应的权限。SDK 所需的权限可以参考 AWS 文档获取更多信息。
通过 SageMaker SparkML Serving,用户可以在 SageMaker 上托管 SparkML 模型并进行预测。模型需要使用 MLeap
库进行序列化。如下是通过 SparkMLModel
类创建实例并使用 deploy()
方法部署模型的示例:
sparkml_model = SparkMLModel(model_data='s3://path/to/model.tar.gz', env={'SAGEMAKER_SPARKML_SCHEMA': schema}) model_name = 'sparkml-model' endpoint_name = 'sparkml-endpoint' predictor = sparkml_model.deploy(initial_instance_count=1, instance_type='ml.c4.xlarge', endpoint_name=endpoint_name)
完成部署后,用户可以使用 CSV 格式数据进行预测。