JAWS DAYS 2019でAWS SageMakerを活用してる話をした

JAWS DAYS 2019で、AWS SageMakerを使ってTensorFlowのモデルを運用しているという話をしました。
速報によると1900人も参加しており、JAWS-UGの熱気が凄かったです。
TensorFlowモデルのファイル構成について
本編では省きましたが、SageMakerではTessorFlow Serving方式のデプロイと、Python-based Endpointsとでは用意するファイルのフォルダ構成が違います。
探しても公式のドキュメントには見つからなかったので、ハマりやすいポイントだと思います。
具体的には、TensorFlow Servingは基本的に MODEL_NAME/VERSION/
以下にpbファイル等を置くことを要求します。
(例: fmnist/1/saved_model.pb
)
─ <モデル名>
└── <version number>
├── saved_model.pb
└── variables
└── ...
一方でPython-based Endpointsは以下のようなフォルダ構成を暗に要求しています。
- export
└─ Servo
└── <version number>
├── saved_model.pb
└── variables
└── ...
そのため、TensorFlow Servingで動くファイルを用意しても、Python-based Endpointでは動作しないので注意が必要です。 (起動しないので間違えることは無いですが)