- SageMaker 教程
- SageMaker - 首页
- SageMaker - 简介
- 如何设置 SageMaker?
- SageMaker - 构建机器学习模型
- SageMaker - 训练机器学习模型
- SageMaker - 部署机器学习模型
- SageMaker - 监控和优化
- SageMaker - 定价
- SageMaker 资源
- SageMaker - 快速指南
- SageMaker - 资源
- SageMaker - 讨论
SageMaker - 构建机器学习模型
阅读本章,了解如何使用 SageMaker 中的内置算法构建机器学习 (ML) 模型。
在 Amazon SageMaker 中使用内置算法
请按照以下步骤操作 -
步骤 1:选择内置算法
首先,您需要选择一个内置算法。Amazon SageMaker 提供了各种内置算法,例如线性学习器(用于分类和回归)、XGBoost(用于分类的增强树)和K-means(用于聚类)。
步骤 2:准备数据
接下来,您需要将数据上传到 Amazon S3 存储桶。SageMaker 从 S3 读取数据并将其用于训练模型。数据应为 CSV 或 SageMaker 支持的其他格式。
步骤 3:创建 SageMaker 会话
打开您的 Jupyter Notebook。导入必要的库并创建一个 SageMaker 会话 -
import sagemaker from sagemaker import get_execution_role # Create a SageMaker session session = sagemaker.Session() # Define the S3 bucket and data path bucket = 'your-s3-bucket-name' prefix = 'your-data-prefix' role = get_execution_role()
步骤 4:配置算法和训练作业
创建 SageMaker 会话后,我们需要配置内置的线性学习器算法。
您可以使用SageMaker 的 LinearLearner 估算器。然后,设置超参数并按如下方式启动训练作业 -
from sagemaker.amazon.linear_learner import LinearLearner # Configure the LinearLearner estimator linear = LinearLearner(role=role, instance_count=1, instance_type='ml.m4.xlarge', predictor_type='binary_classifier', output_path=f's3://{bucket}/{prefix}/output') # Define the data channels (train and validation) train_data = f's3://{bucket}/{prefix}/train/train.csv' validation_data = f's3://{bucket}/{prefix}/validation/validation.csv' data_channels = {'train': train_data, 'validation': validation_data} # Train the model linear.fit(inputs=data_channels)
步骤 5:部署模型以进行推理
训练完成后,将模型部署到 SageMaker 端点以进行实时预测,如下所示 -
# Deploy the trained model predictor = linear.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge') # Make predictions result = predictor.predict([[1.5, 2.5, 3.0]]) print(result)
将您自己的模型引入 Amazon SageMaker
Amazon SageMaker 还允许您引入您自己的预训练模型并进行部署。请按照以下步骤将您自己的模型引入 Amazon SageMaker -
步骤 1:保存您的模型
如果您使用 TensorFlow 或 PyTorch 等框架训练了模型,则可以将模型的权重和架构保存到 S3 存储桶。
请查看以下示例 -
import torch import boto3 # Save a PyTorch model locally torch.save(model.state_dict(), 'model.pth') # Upload the model to S3 s3 = boto3.client('s3') s3.upload_file('model.pth', 'your-s3-bucket-name', 'model/model.pth')
步骤 2:创建 SageMaker 模型
接下来,我们需要创建一个模型对象并指定托管模型的容器。您可以使用 SageMaker 的 Model 类来实现此目的。您还可以使用自定义 Docker 镜像来服务您的模型,如下所示 -
from sagemaker.model import Model # Define the model model = Model(model_data='s3://your-s3-bucket-name/model/model.pth', role=role, image_uri='your-custom-docker-image') # Deploy the model predictor = model.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge')
步骤 3:部署模型
创建模型后,将其部署到 SageMaker 端点以使其可用于推理,如下所示 -
# Perform inference using the deployed model result = predictor.predict([[1.5, 2.5, 3.0]]) print(result)
广告