簡體   English   中英

如何在 AWS sagemaker 中運行預訓練的 model?

[英]how to run a pre-trained model in AWS sagemaker?

我有一個經過預訓練的 model.pkl 文件以及與 ml model 相關的所有其他文件。 我希望它將它部署在 aws sagemaker 上。 但是沒有培訓,如何將其部署到 aws sagmekaer,因為 aws sagemaker 中的 fit() 方法運行 train 命令並將 model.tar.gz 推送到 s3 位置,當使用部署方法時,它使用相同的 s3 位置部署 model,我們不會在 s3 中手動創建與由 aws model 創建的位置相同的位置,並使用一些時間戳給它命名。 如何將我們自己的個性化 model.tar.gz 文件放在 s3 位置,並使用相同的 s3 位置調用 deploy() function。

所有你需要的是:

  1. 將您的 model 放在model.tar.gz存檔中的任意 S3 位置
  2. 在 SageMaker 兼容的 docker 映像中擁有一個推理腳本,該映像能夠讀取您的model.pkl ,為其提供服務並處理推理。
  3. 創建將您的工件與推理代碼相關聯的端點

當您請求端點部署時,SageMaker 將負責下載您的model.tar.gz並解壓縮到服務器的 docker 映像中的適當位置,即/opt/ml/model

Depending on the framework you use, you may use either a pre-existing docker image (available for Scikit-learn, TensorFlow, PyTorch, MXNet) or you may need to create your own.

  • 關於自定義圖像創建,請參見此處的規范和此處的兩個自定義容器示例,用於Rsklearn (sklearn 的相關性較低,因為有一個預先構建的 docker 圖像以及一個sagemaker sklearn ZF20E1D3D3D40573127E9EE0480CAF1283D6Z和 sklearn 的相關性)
  • 關於利用 Sklearn、PyTorch、MXNet、TF 的現有容器,請查看以下示例: SageMaker Sklearn 容器中的隨機森林 在此示例中,沒有什么可以阻止您部署在其他地方訓練的 model。 請注意,由於訓練/部署環境不匹配,您可能會由於某些軟件版本差異而運行錯誤。

關於您的以下經歷:

當使用部署方法時,它使用相同的 s3 位置來部署 model,我們不會在 s3 中手動創建與由 aws model 創建的位置相同的位置,並使用一些時間戳給它命名

我同意有時使用SageMaker Python SDK (SageMaker 的眾多可用 SDK 之一)的演示可能會產生誤導,因為它們經常利用可以部署剛剛訓練的Estimator的事實 ( Estimator.deploy(..) ) Estimator.deploy(..) ) 在同一個 session 中,無需實例化將推理代碼映射到 model 工件的中間 model 概念。 這種設計大概是為了代碼緊湊性而完成的,但在現實生活中,給定 model 的訓練和部署很可能通過在不同系統中運行的不同腳本來完成。 It's perfectly possible to deploy a model with training it previously in the same session, you need to instantiate a sagemaker.model.Model object and then deploy it.

暫無
暫無

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

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