
- 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)
廣告