

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

# 範例和更多資訊：使用自有的演算法或模型
<a name="docker-containers-notebooks"></a>

以下 Jupyter 筆記本和新增資訊示範如何從 Amazon SageMaker 筆記本執行個體中，使用自有的演算法或預訓練的模型。如需使用 TensorFlow、MXNet、Chaner 和 PyTorch 架構的預先建置 Dockerfile 的 GitHub 儲存庫連結，以及使用 適用於 Python (Boto3) 的 AWS SDK 估算器在 SageMaker AI Learner 上執行您自己的訓練演算法，以及在 SageMaker AI 託管上執行您自己的模型的指示，請參閱 [適用於深度學習的預先建置 SageMaker AI Docker 映像](pre-built-containers-frameworks-deep-learning.md)

## 設定
<a name="docker-containers-notebooks-setup"></a>

1. 建立 SageMaker 筆記本執行個體。如需建立和存取 Jupyter 筆記本執行個體的相關指示，請參閱[Amazon SageMaker 筆記本執行個體](nbi.md)。

1. 開啟您建立的筆記本執行個體。

1. 選擇 **SageMaker AI 範例**索引標籤，以取得所有 SageMaker AI 範例筆記本的清單。

1. 您可以從筆記本執行個體的**進階功能**區段或使用所提供的連結從 GitHub 開啟範例筆記本。若要開啟筆記本，請選擇其**使用**標籤，然後選擇**建立複本**。

## 託管 Scikit-learn 中訓練的模型
<a name="docker-containers-notebooks-scikit"></a>

若要了解如何託管 Scikit-learn 中訓練的模型以便在 SageMaker AI 中進行預測，可以把模型注入第一方 k 平均值和 XGBoost 容器，請參閱下列範例筆記本。
+ [kmeans\_bring\_your\_own\_model](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/advanced_functionality/kmeans_bring_your_own_model)
+ [xgboost\_bring\_your\_own\_model](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/advanced_functionality/xgboost_bring_your_own_model)

## 將 TensorFlow 和 Scikit-learn 模型封裝以便在 SageMaker AI 中使用
<a name="docker-containers-notebooks-package"></a>

若要了解如何封裝您在 TensorFlow 和 scikit-learn 架構中開發的演算法，以便在 SageMaker AI 環境中訓練和部署，請參閱以下筆記本。其中示範如何使用 Dockerfile 來建置、登錄和部署您自己的 Docker 容器。
+ [tensorflow\_bring\_your\_own](https://github.com/aws/amazon-sagemaker-examples/blob/main/advanced_functionality/tensorflow_iris_byom/tensorflow_BYOM_iris.ipynb)
+ [scikit\_bring\_your\_own](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/advanced_functionality/scikit_bring_your_own)

## 在 SageMaker AI 上訓練和部署神經網路
<a name="docker-containers-notebooks-neural"></a>

若要了解如何使用 MXNet 或 TensorFlow 在本機訓練神經網路，然後從已訓練的模型建立端點，並部署在 SageMaker AI，請參閱以下筆記本。MXNet 模型接受訓練來辨識 MNIST 資料集裡的手寫數字。TensorFlow 模型接受訓練來分類鳶尾花。
+ [mxnet\_mnist\_byom](https://sagemaker.readthedocs.io/en/stable/frameworks/mxnet/using_mxnet.html)
+ [tensorflow\_BYOM\_iris](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/advanced_functionality/tensorflow_iris_byom/tensorflow_BYOM_iris.ipynb)

## 使用管道模式進行訓練
<a name="docker-containers-notebooks-pipe"></a>

若要了解如何使用 Dockerfile 來建置呼叫 `train.py script` 的容器，並使用管道模式來自訂演算法的訓練，請參閱以下筆記本。在管道模式下，訓練時會將輸入資料傳輸至演算法。相較於使用檔案模式，這可以縮短訓練時間。
+ [pipe\_bring\_your\_own](https://github.com/aws/amazon-sagemaker-examples/blob/0efd885ef2a5c04929d10c5272681f4ca17dac17/advanced_functionality/pipe_bring_your_own/pipe_bring_your_own.ipynb)

## 使用自有 R 模型
<a name="docker-containers-notebooks-r"></a>

若要了解如何使用新增自訂 R 映像來建置和訓練 AWS SMS 筆記本中的模型，請參閱下列部落格文章。此部落格文章使用 [SageMaker AI Studio Classic 自訂映像範例](https://github.com/aws-samples/sagemaker-studio-custom-image-samples)程式庫中的 R Dockerfile 範例。
+ [攜帶您自己的 R 環境至 Amazon SageMaker Studio Classic](https://aws.amazon.com/blogs/machine-learning/bringing-your-own-r-environment-to-amazon-sagemaker-studio/)

## 延伸預先建置的 PyTorch 容器映像
<a name="docker-containers-notebooks-extend"></a>

當您對於預先建置 Docker 映像不支援的演算法或模型有額外的功能需求時，要了解如何延預先建置的 SageMaker AI PyTorch 容器映像，請參閱以下筆記本。
+ [BERTtopic\_extending\_container](https://github.com/aws/amazon-sagemaker-examples/blob/0efd885ef2a5c04929d10c5272681f4ca17dac17/advanced_functionality/pytorch_extend_container_train_deploy_bertopic/BERTtopic_extending_container.ipynb)

如需延伸容器的更多相關資訊，請參閱[延伸預先建置的容器](https://docs.aws.amazon.com/sagemaker/latest/dg/prebuilt-containers-extend.html)。

## 在自訂容器上訓練以及進行訓練工作偵錯
<a name="docker-containers-notebooks-debugger"></a>

若要了解如何使用 SageMaker Debugger 來訓練及進行訓練工作偵錯，請參閱下列筆記本。透過此範例提供的訓練指令碼使用 TensorFlow Keras ResNet 50 模型和 CIFAR10 資料集。Docker 自訂容器使用訓練指令碼建置，並推送至 Amazon ECR。訓練工作正在執行時，Debugger 會收集張量輸出並確認偵錯問題。使用 `smdebug` 用戶端程式庫工具，您可以設定呼叫訓練工作和偵錯資訊的 `smdebug` 試用物件、檢查訓練和 Debugger 規則狀態，以及擷取儲存在 Amazon S3 儲存貯體中的張量以分析訓練問題。
+ [build\_your\_own\_container\_with\_debugger](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/build_your_own_container_with_debugger/debugger_byoc.html)