SageMakerの組み込みアルゴリズムで作成し、保存したモデルを再デプロイする方法

Pocket

はじめに

本稿では、SageMakerで作成し、ローカルに保存したモデル(model.tar.gz)をもう一度デプロイする方法を説明します。
※今回私がデプロイするのは、犬の顔検出モデルです。

前提

既にSageMakerで作成したモデルをローカルに保存している。

実践

モデルのアップロード
・まず、S3でバケットを作成します。

バケット作成を選択。

・任意のバケット名を付けて、作成を選択。
※今回はテストのため、アクセス許可の設定などは行いませんが、実際に利用する際は、適切な設定を行ってください。

・作成したバケットを開いて、アップロードを選択。
私は、バケット内にmodelというフォルダを作成し、その中にアップロードします。

・ローカルに保存しているモデルを選択し、アップロードを選択。

これで、モデルのアップロードは終了です。

モデルのデプロイ
・Sagemaker のノートブックインスタンスから、Create notebook instance を選択。

・ノートブックインスタンスに任意の名前を付けます。

・下にスクロールし、IAM ロールの一番上のタブを選択し、新しいロールの作成を選択。

・特定の S3 バケットにチェックを入れ、先ほど作成した S3 バケットノ名前を入力し、ロールの作成を選択。

・下にスクロールして、ノートブックインスタンスの作成を選択。

・ステータスがInServiceになったら、Open Jupyterを選択。

・Jupyter が開いたら、New から conda_mxnet_p36 を選択。

・Notebook を選択したら、Untitled を選択。

・任意の名前を Notebook に付け、Rename を選択。

・次のコードを実行して、モデルをデプロイしましょう。
このコードの実行完了には5分ほど時間がかかりました。
〇model_data : 先ほどモデルを保存したパス
〇image : 推論時に利用する Docker イメージ名
Docker イメージ名はこちらから参照してください。

実行結果
・- の後に ! がついたら、モデルのデプロイ完了です。

おわりに

今回は、SageMakerの組み込みアルゴリズムで作成したモデルを、再デプロイする方法について説明しました。
モデルをローカルに保存してから、再デプロイするという方の参考になればと思います。