簡體   English   中英

如何在AWS Sagemaker中訓練自己的模型?

[英]How to train your own model in AWS Sagemaker?

我剛開始使用AWS,我想用自己的數據集訓練自己的模型。 我在Python中將我的模型作為具有tensorflow后端的keras模型。 我閱讀了一些文檔,他們說我需要一個Docker映像來加載我的模型。 因此,如何將keras模型轉換為Docker映像。 我通過互聯網進行搜索,但沒有發現任何可以清楚解釋該過程的信息。 如何制作keras模型的docker映像,以及如何將其加載到sagemaker。 還有如何將h5文件中的數據加載到S3存儲桶中進行訓練? 誰能幫我得到清楚的解釋?

盡管您可以將Docker容器加載到Sagemaker中進行生產,但是聽起來似乎最好通過完成整個Sagemaker管道來完成,從S3中的數據開始,並通過支持keras和TF的Jupyter筆記本進行培訓。

培訓完模型后,文檔將逐步介紹如何存儲和保留模型以進行生產。 對於Docker,您將構建Docker容器並將其推送到AWS ECR並從那里導入-請注意,在awslabs示例中,您需要遵循非常特定的Docker目錄結構(例如:

https://github.com/awslabs/amazon-sagemaker-examples/blob/caa8ce243b51f6bdb15f2afc638d9c4e2ad436b9/hyperparameter_tuning/keras_bring_your_own/trainer/environment.py )。

您可以將Keras模型轉換為tf.estimator並使用Sagemaker中的TensorFlow框架估算器進行訓練。

不過,這種轉換是非常基本的,我使用tf.keras API在TensorFlow中重新實現了模型,這使模型幾乎完全相同,並以腳本模式與Sagemaker TF估計器一起訓練。

我最初使用純Keras模型的方法是基於自帶算法容器,類似於Matthew Arthur的回答。

Scikit編寫自己的算法容器教程是編寫自己的自定義算法的一個很好的起點。 它概述了Docker,將腳本打包到容器中,上傳和運行培訓工作的步驟。

如果您已經有了hdf5文件,則可以使用AWS CLI將其上傳到您擁有的存儲桶中。

$ aws s3 cp ./path/to/file.h5 s3://my-sagemaker-bucket/folder/file.h5

然后,在創建培訓工作時,您可以指定一個[輸入通道] :( http://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateTrainingJob.html#SageMaker-CreateTrainingJob-request-InputDataConfig

[{ 
  "ChannelName": "train",
  "DataSource": {
    "S3DataSource": {
      "S3Uri": "s3://my-sagemaker-bucket/folder",
      "S3DataType": "S3Prefix",
      "S3DataDistributionType": "FullyReplicated"
    }
  }
}]

當訓練工作開始時,您的容器化腳本應該能夠在其本地文件系統/opt/ml/input/data/train/file.h5上找到它,並且能夠像普通文件一樣讀取它。 請注意,此文件路徑中的“ train”對應於您在input-data-config中指定的通道名稱。

您可以在https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-training-algo.html上閱讀更多內容。

現在,TensorFlow和MXNet內置框架都在SageMaker中本地支持Keras。 您可以使用SageMaker進行培訓和部署,也可以以TensorFlow Serving格式導入現有的Keras模型並進行部署。

這是一個詳細的示例: https : //aws.amazon.com/blogs/machine-learning/train-and-deploy-keras-models-with-tensorflow-and-apache-mxnet-on-amazon-sagemaker/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM