はじめに
本稿では、SageMakerで作成し、ローカルに保存したモデル(model.tar.gz)をもう一度デプロイする方法を説明します。
※今回私がデプロイするのは、犬の顔検出モデルです。
前提
既にSageMakerで作成したモデルをローカルに保存している。
実践
モデルのアップロード
・まず、S3でバケットを作成します。
バケット作成を選択。
・任意のバケット名を付けて、作成を選択。
※今回はテストのため、アクセス許可の設定などは行いませんが、実際に利用する際は、適切な設定を行ってください。
私は、バケット内にmodelというフォルダを作成し、その中にアップロードします。
・ローカルに保存しているモデルを選択し、アップロードを選択。
これで、モデルのアップロードは終了です。
モデルのデプロイ
モデルのデプロイ
・Sagemaker のノートブックインスタンスから、Create notebook instance を選択。
・ノートブックインスタンスに任意の名前を付けます。
・下にスクロールし、IAM ロールの一番上のタブを選択し、新しいロールの作成を選択。
・特定の S3 バケットにチェックを入れ、先ほど作成した S3 バケットノ名前を入力し、ロールの作成を選択。
・下にスクロールして、ノートブックインスタンスの作成を選択。
・ステータスがInServiceになったら、Open Jupyterを選択。
・Jupyter が開いたら、New から condamxnetp36 を選択。
・Notebook を選択したら、Untitled を選択。
・任意の名前を Notebook に付け、Rename を選択。
1#S3にアップロードしたモデルをデプロイ2import sagemaker3from sagemaker import get_execution_role4from sagemaker.model import Model56import boto37import json89role = get_execution_role()10model = Model(model_data='s3://dog-face/model/model.tar.gz',11 image='501404015308.dkr.ecr.ap-northeast-1.amazonaws.com/object-detection:latest',12 role=role)1314model_detection = model.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge')実行結果
・- の後に ! がついたら、モデルのデプロイ完了です。
1----------------------------------------------------------------------------------------------------------------!おわりに
今回は、SageMakerの組み込みアルゴリズムで作成したモデルを、再デプロイする方法について説明しました。
モデルをローカルに保存してから、再デプロイするという方の参考になればと思います。
SageMakerの導入ならナレコムにおまかせください。
日本のAPNコンサルティングパートナーとしては国内初である、Machine Learning コンピテンシー認定のナレコムが導入から活用方法までサポートします。お気軽にご相談ください。