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

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では動作しないので注意が必要です。 (起動しないので間違えることは無いですが)