Close

AWS SageMaker の事前トレーニング済みモデルを設定する

Warren Marusiak の顔写真
Warren Marusiak

シニア テクニカル エバンジェリスト

当社のチームは Jira Software とさまざまな接続ツールを使用してアプリケーションを開発、デプロイ、管理する方法を説明するために、機械学習を使用してイメージにラベルを添付する AWS 上に構築されたシンプルなデモ アプリケーションである ImageLabeller を作成しました。

このページでは、AWS SageMaker の定義済みモデルを設定する方法について説明します。これは、ImageLabeller が画像を正常に処理するために必要な前提条件です。はじめに、ImageLabeller アーキテクチャのページをお読みの上、背景を確認することをお勧めします。


AWS コンソールにログインして Amazon SageMaker に移動します。

AWS コンソールのスクリーンショット

Amazon SageMaker Studio に移動します。

Amazon SageMaker Studio のスクリーンショット

[Quick start (クイック スタート)] > [Execution role (実行ロール)]> [Create an IAM role (IAM ロールを作成)] の順に選択します。

Quick start のスクリーンショット

[Create role (ロールを作成)] を、[送信] の順にクリックします。

Create an IAM role (IAM ロールを作成) のスクリーンショット

SageMaker の設定にはしばらく時間がかかります。準備ができたら[Open Studio (Studio を開く)] をクリックします。

セットアップ後のスクリーンショット

[Go to SageMake JumpStart (SageMake JumpStart に移動)] をクリックします。

SageMaker JumpStart のスクリーンショット

[Inception V3] を見つけてクリックします。

ビジョン モデルのスクリーンショット

[Machine Type (マシン タイム)] を ml.m5.large に変更し、[Endpoint Name (エンドポイント名)] を「image-labeller-endpoint」などの読みやすい名前に変更して [Deploy (デプロイ)] をクリックします。

デプロイ モデルのスクリーンショット

AWS SageMaker でモデルのデプロイが開始されます。

デプロイ開始のスクリーンショット

デプロイが完了したら [Open Notebook (ノートブックを開く)] をクリックします。

エンドポイント ステータスのスクリーンショット

ノートブックの 3 つのコード ブロックをすべて実行して、正常に動作していることを確認します。query_endpointendpoint_name を書き留めておきます。これと、AWS SageMaker ノートブックがあるリージョンを InvokeLabeller AWS Lambda に追加する必要があります。

Jupyter ノートブックの使用方法については、ドキュメントをご参照ください

エンドポイントのクエリのスクリーンショット

InvokeLabeller の src/app.py ファイルを開いて、query_endpoint を探します。endpoint_name とクライアントの region_name を、AWS SageMaker ノートブックと一致するように変更します。

def query_endpoint(img):
  endpoint_name = 'jumpstart-dft-image-labeller-endpoint'
  client = boto3.client(service_name='runtime.sagemaker', region_name='us-west-1')
  response = client.invoke_endpoint(EndpointName=endpoint_name, ContentType='application/x-image', Body=img)
  model_predictions = json.loads(response['Body'].read())['predictions'][0]
  return model_predictions

SageMaker の設定が完了したら、次のステップは、ImageLabeller を BitbucketGitHub、または Gitlab にデプロイすることです。

Warren Marusiak
Warren Marusiak

Warren is a Canadian developer from Vancouver, BC with over 10 years of experience. He came to Atlassian from AWS in January of 2021.


この記事を共有する

おすすめコンテンツ

次のリソースをブックマークして、DevOps チームのタイプに関する詳細や、アトラシアンの DevOps についての継続的な更新をご覧ください。

DevOps のイラスト

DevOps コミュニティ

DevOps のイラスト

DevOps ラーニング パス

マップのイラスト

無料で始める

DevOps ニュースレター購読

Thank you for signing up