Amazon SageMaker
開発者ガイド

Amazon SageMaker で TensorFlow の使用

カスタム TensorFlow コードを使ってモデルをトレーニングしデプロイするために Amazon SageMaker を使うことができます。Amazon SageMaker Python SDK の TensorFlow 推定器やモデル、および Amazon SageMaker オープンソースの TensorFlow コンテナでは、Amazon SageMaker での TensorFlow スクリプトの記述や実行がより簡単になります。

Amazon SageMaker Python SDK では、TensorFlow トレーニングスクリプトの 2 つの形式をサポートしています。TensorFlow バージョン 1.11 以降では、スクリプトモード TensorFlow トレーニングスクリプトを使用できます。TensorFlow バージョン 1.12 以前では、レガシーモード TensorFlow トレーニングスクリプトを使用できます。

Amazon SageMaker Python SDK TensorFlow クラスの API リファレンスについては、「https://sagemaker.readthedocs.io/en/stable/sagemaker.tensorflow.html」を参照してください。

Amazon SageMaker TensorFlow コンテナの構築および提供方法については、「https://github.com/aws/sagemaker-tensorflow-container」にある GitHub リポジトリを参照してください。

TensorFlow スクリプトモードを使用する

TensorFlow バージョン 1.11 以降の Amazon SageMaker Python SDK では、スクリプトモードのトレーニングスクリプトがサポートされています。スクリプトモードには、レガシーモードのトレーニングスクリプトと比べて次の点が優れています。

  • スクリプトモードのトレーニングスクリプトは、一般的に TensorFlow 用に記述したトレーニングスクリプトに似ているため、既存の TensorFlow トレーニングスクリプトを Amazon SageMaker で動作するように変更する方が簡単です。

  • スクリプトモードは、Python 2.7 互換と Python 3.6 互換のソースファイルのいずれもサポートしています。

  • スクリプトモードでは、分散トレーニングの Horovod をサポートしています。

Amazon SageMaker で TensorFlow スクリプトモードのトレーニングスクリプトを記述したり、TensorFlow スクリプトモードの推定器やモデルを使用する方法については、「https://sagemaker.readthedocs.io/en/stable/using_tf.html」を参照してください。

Amazon SageMaker TensorFlow コンテナでサポートされている TensorFlow バージョンについては、「https://github.com/aws/sagemaker-python-sdk/blob/master/src/sagemaker/tensorflow/README.rst」を参照してください。

TensorFlow レガシーモードを使用する

以下の場合は、レガシーモードの TensorFlow トレーニングスクリプトを使用して、Amazon SageMaker で TensorFlow ジョブを実行します。

  • スクリプトモードに変換することを望まない既存のモードスクリプトがあります。

  • 1.11 以前の TensorFlow バージョンを使用します。

Amazon SageMaker Python SDK で使用するためのレガシーモードの TensorFlow スクリプトの記述については、「https://github.com/aws/sagemaker-python-sdk/tree/v1.12.0/src/sagemaker/tensorflow#tensorflow-sagemaker-estimators-and-models」を参照してください。