SageMaker Notebook で PyTorch を使用して機械学習を行うときの自分用サンプル。
src/ 以下に通常の機械学習タスクで使用するようなプログラムを設置している。これについては、一部環境変数などを除いてそこまで SageMaker 専用にプログラムを作成する必要はない。
main.ipynb に SageMaker 向けのプログラムを実装している。ここでは S3 と連携したデータのやり取りや、TrainingJob の作成などを行う。
プログラム内で SageMaker にデフォルトで梱包されていないライブラリを使用する場合は、 source_dir 内に requirements.txt を設置すれば、 コンテナ立ち上げ時に自動でインストールされる。
main.ipynb
estimator = PyTorch(
entry_point="entry.py",
source_dir="src",
# ...
)src/requirements.txt
dataclasses-json==0.5.7色々あるので公式資料参照
https://github.com/aws/sagemaker-training-toolkit/blob/master/ENVIRONMENT_VARIABLES.md
※ Windows 環境の人は改行コードに気を付けてコピペしないと /bin/bash^M: bad interpreter: No such file or directory で怒られるので注意。
参考: aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples#8