{ "cells": [ { "cell_type": "markdown", "id": "0b086e7b", "metadata": {}, "source": [ "# Amazon SageMaker Neo でコンパイルしたモデルを AWS IoT Greengrass V2 を使ってデバイスにデプロイする\n", "\n", "このサンプルノートブックは、エッジ推論を行うために学習済みモデルを Amazon SageMaker Neo でコンパイルして AWS Iot Greengrass V2 を使ってデバイスにデプロイするパイプラインを AWS Step Functions を使って自動化する方法をご紹介します。このノートブックを Amazon SageMaker のノートブックインスタンスで使用する場合は、`conda_tensorflow_p36` のカーネルをご利用ください。\n", "\n", "このノートブックでは、デプロイしたいモデルや Greengrass アーティファクトファイルに関する情報を yaml 形式の設定ファイルで作成し、ワークフロー実行時にその設定ファイルを入力パラメタとすることで、以下のことを実現しています。\n", "\n", "- いつ何をどのデバイスにデプロイしたのかの記録(トレーサビリティ)\n", "- 同じ設定ファイルを使用することで同じワークフローを実行可能(再現性)\n", "\n", "Python コードでワークフローを構築するために、AWS Step Functions Data Science SDK を使用します。詳しい情報は以下のドキュメントをご参照ください。\n", "\n", "- [AWS Step Functions](https://aws.amazon.com/step-functions/)\n", "- [AWS Step Functions Developer Guide](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html)\n", "- [AWS Step Functions Data Science SDK](https://aws-step-functions-data-science-sdk.readthedocs.io/)\n", "\n", "このノートブックの大まかな流れは以下の通りです。\n", "\n", "\n", "\n", "1. 3つの Lambda 関数を作成\n", " - デプロイしたいコンポーネントに対応するコンテナイメージをデプロイ用 Lambda 関数に適用する Lambda 関数\n", " - 必要に応じて機械学習モデルを Amazon SageMaker Neo でコンパイルする Lambda 関数\n", " - 指定されたアーティファクトをコンポーネント化して AWS IoT Greengrass デバイスにデプロイする Lambda 関数\n", "1. 作成した Lambda 関数を順に実行するような AWS Step Functions Data Science SDK ワークフローを作成\n", "1. デプロイに関する情報が記載された設定ファイルを作成\n", "1. Step Functions ワークフローを実行してファイルをデバイスにデプロイ\n", "1. デプロイ関連情報を一覧表示\n", "1. リソースの削除\n", "\n" ] }, { "cell_type": "markdown", "id": "aa058f76", "metadata": { "toc": true }, "source": [ "