LoginSignup
1
1

More than 3 years have passed since last update.

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

Last updated at Posted at 2019-05-31

はじめに

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

※今回私がデプロイするのは、犬の顔検出モデルです。

前提

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

実践

モデルのアップロード

  • まず、S3でバケットを作成します。

    バケット作成を選択。
    001.png

  • 任意のバケット名を付けて、作成を選択。

※今回はテストのため、アクセス許可の設定などは行いませんが、実際に利用する際は、適切な設定を行ってください。

002.png

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

003.png

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

004.png

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

モデルのデプロイ

  • Sagemaker のノートブックインスタンスから、Create notebook instance を選択。
    005.png

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

006.png

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

007.png

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

008.png

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

009.png

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

010.png

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

011.png

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

012.png

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

013.png

  • 次のコードを実行して、モデルをデプロイしましょう。
    このコードの実行完了には5分ほど時間がかかりました。

    • model_data : 先ほどモデルを保存したパス
    • image : 推論時に利用する Docker イメージ名
      Docker イメージ名はこちらから参照してください。
#S3にアップロードしたモデルをデプロイ
import sagemaker
from sagemaker import get_execution_role
from sagemaker.model import Model

import boto3
import json

role = get_execution_role()
model =  Model(model_data='s3://dog-face/model/model.tar.gz',
               image='501404015308.dkr.ecr.ap-northeast-1.amazonaws.com/object-detection:latest',
               role=role)

model_detection = model.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge')

実行結果

  • - の後に ! がついたら、モデルのデプロイ完了です。
----------------------------------------------------------------------------------------------------------------!

おわりに

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

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1