

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Amazon SageMaker AI 中開發演算法和模型
<a name="sagemaker-marketplace-develop"></a>

在建立演算法和模型套件資源以用於 Amazon SageMaker AI 或清單之前 AWS Marketplace，您必須先開發它們並將其封裝在 Docker 容器中。

**注意**  
建立演算法和模型套件以列入清單時 AWS Marketplace，SageMaker AI 會掃描容器是否有受支援作業系統上的安全漏洞。  
僅支援以下作業系統版本：  
Debian：6.0、7、8、9、10
Ubuntu：12.04、12.10、13.04、14.04、14.10、15.04、15.10、16.04、16.10、17.04、17.10、18.04、18.10
CentOS：5、6、7
Oracle Linux：5、6、7
Alpine：3.3、3.4、3.5
Amazon Linux

**Topics**
+ [在 SageMaker AI 中開發演算法](#sagmeaker-mkt-develop-algo)
+ [在 SageMaker AI 中開發模型](#sagemaker-mkt-develop-model)

## 在 SageMaker AI 中開發演算法
<a name="sagmeaker-mkt-develop-algo"></a>

您應該將演算法封裝為 Docker 容器並存放至 Amazon ECR，才能在 SageMaker AI 中使用。Docker 容器包含訓練程式碼 (可用來執行訓練任務)，以及選用的推論程式碼 (可用來透過使用演算法訓練的模型取得推論)。

如需如何在 SageMaker AI 中開發演算法並將其封裝為容器的資訊，請參閱[用於訓練和部署模型的 Docker 容器](docker-containers.md)。如需如何建立演算法容器的完整範例，請參閱範例筆記本，網址為 https：//[https://sagemaker-examples.readthedocs.io/en/latest/advanced\$1functionality/scikit\$1bring\$1your\$1own/scikit\$1bring\$1your\$1own.html](https://sagemaker-examples.readthedocs.io/en/latest/advanced_functionality/scikit_bring_your_own/scikit_bring_your_own.html)。您也可以在 SageMaker 筆記本執行個體中尋找範例筆記本。筆記本位於 **Advanced Functionality (進階功能)** 區段，名稱為 `scikit_bring_your_own.ipynb`。

在建立要發佈的演算法資源之前，請務必徹底測試您的演算法 AWS Marketplace。

**注意**  
當買方訂閱您的容器化產品時，Docker 容器即會在隔離 (無需網際網路) 環境中執行。當您建立容器時，請不要倚賴透過網際網路進行傳出呼叫。也不允許呼叫 AWS 服務。

## 在 SageMaker AI 中開發模型
<a name="sagemaker-mkt-develop-model"></a>

SageMaker AI 的可部署模型包含推論程式碼、模型成品、用來存取資源的 IAM 角色，以及在 SageMaker AI 中部署模型所需的其他資訊。模型成品是使用機器學習演算法訓練模型的結果。推論程式碼必須封裝在 Docker 容器中並存放於 Amazon ECR。您可以將模型成品封裝在與推論程式碼相同的容器中，或存放於 Amazon S3。

您可以透過在 SageMaker AI 中執行訓練任務，或在 SageMaker AI 之外訓練機器學習演算法，來建立模型。如果您在 SageMaker AI 中執行訓練任務，產生的模型成品會顯示在回應 [DescribeTrainingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingJob.html) 作業呼叫的 `ModelArtifacts` 欄位。如需如何開發 SageMaker AI 模型容器的資訊，請參閱[具有自訂推論程式碼的容器](your-algorithms-inference-main.md)。如需如何透過 SageMaker AI 外部訓練的模型來建立模型容器的完整範例，請參閱 [https://sagemaker-examples.readthedocs.io/en/latest/advanced\$1functionality/xgboost\$1bring\$1your\$1own\$1model/xgboost\$1bring\$1your\$1own\$1model.html](https://sagemaker-examples.readthedocs.io/en/latest/advanced_functionality/xgboost_bring_your_own_model/xgboost_bring_your_own_model.html) 的範例筆記本。

在建立要發佈的模型套件之前，請務必徹底測試您的模型 AWS Marketplace。

**注意**  
當買方訂閱您的容器化產品時，Docker 容器即會在隔離 (無需網際網路) 環境中執行。當您建立容器時，請不要倚賴透過網際網路進行傳出呼叫。也不允許呼叫 AWS 服務。