DLR イメージ分類 - AWS IoT Greengrass

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

DLR イメージ分類

DLR イメージ分類コンポーネント (aws.greengrass.DLRImageClassification) には、深層学習ランタイムと resnet-50 モデルを使ってイメージ分類の推論を行うためのサンプル推論コードが含まれています。このコンポーネントは、バリアント DLR イメージ分類モデルストアDLR ランタイム コンポーネントを依存関係として使用することで、DLR とサンプルモデルをダウンロードします。

カスタムトレーニングされた DLR モデルでこの推論コンポーネントを使用するには、依存モデルストアコンポーネントのカスタムバージョンを作成します。独自のカスタム推論コードを使用するには、このコンポーネントの recipe をテンプレートとして使用して、[create a custom inference component] (カスタム推論コンポーネントを作成) できます。

バージョン

このコンポーネントには、次のバージョンがあります。

  • 2.1.x

  • 2.0.x

タイプ

このコンポーネントはジェネリックコンポーネント (aws.greengrass.generic) です。Greengrass nucleus は、コンポーネントのライフサイクルスクリプトを実行します。

詳細については、「コンポーネントタイプ」を参照してください。

オペレーティングシステム

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。

  • Linux

  • Windows

要件

このコンポーネントには次の要件があります。

  • Amazon Linux 2 または Ubuntu 18.04 を実行している Greengrass コアデバイスの場合は、GNU C ライブラリ (glibc) バージョン 2.27 以降がデバイスにインストールされている必要があります。

  • Raspberry Pi などの Armv7l デバイスでは、OpenCV-Python の依存関係がデバイスにインストールされています。次のコマンドを実行して依存関係をインストールします。

    sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  • Raspberry Pi OS Bullseye を実行する Raspberry Pi デバイスでは、次の要件を満たす必要があります。

    • NumPy デバイスに 1.22.4 以降がインストールされている。Raspberry Pi OS Bullseye には以前のバージョンの が含まれているため NumPy、次のコマンドを実行して NumPy デバイスでアップグレードできます。

      pip3 install --upgrade numpy
    • デバイスで、レガシーカメラスタックが有効になっていること。Raspberry Pi OS Bullseye には、デフォルトで新しいカメラスタックが含まれており有効化されていますが、これには互換性がないるため、レガシーカメラスタックを有効にしておく必要があります。

      レガシーカメラスタックを有効にするには
      1. 次のコマンドを実行して、Raspberry Pi 設定ツールを開きます。

        sudo raspi-config
      2. [Interface Options] (インターフェイスオプション) を選択します。

      3. [Legacy camera] (レガシーカメラ) を選択して、レガシーカメラスタックを有効にします。

      4. Raspberry Pi を再起動します。

依存関係

コンポーネントをデプロイすると、 はその依存関係の互換性のあるバージョン AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントのリリースされたバージョンの依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、AWS IoT Greengrass コンソールでも確認できます。コンポーネントの詳細ページで [Dependencies] (依存関係) リストを確認します。

2.1.13 and 2.1.14

次の表に、このコンポーネントのバージョン 2.1.13 および 2.1.14 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.13.0 ソフト
DLR イメージ分類モデルストア ~2.1.0 ハード
DLR ~1.6.0 ハード
2.1.12

次の表に、このコンポーネントのバージョン 2.1.12 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.12.0 ソフト
DLR イメージ分類モデルストア ~2.1.0 ハード
DLR ~1.6.0 ハード
2.1.11

次の表に、このコンポーネントのバージョン 2.1.11 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.11.0 ソフト
DLR イメージ分類モデルストア ~2.1.0 ハード
DLR ~1.6.0 ハード
2.1.10

次の表に、このコンポーネントのバージョン 2.1.10 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.10.0 ソフト
DLR イメージ分類モデルストア ~2.1.0 ハード
DLR ~1.6.0 ハード
2.1.9

次の表に、このコンポーネントのバージョン 2.1.9 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.9.0 ソフト
DLR イメージ分類モデルストア ~2.1.0 ハード
DLR ~1.6.0 ハード
2.1.8

次の表に、このコンポーネントのバージョン 2.1.8 に関する依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.8.0 ソフト
DLR イメージ分類モデルストア ~2.1.0 ハード
DLR ~1.6.0 ハード
2.1.7

次の表に、このコンポーネントのバージョン 2.1.7 に関する依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.7.0 ソフト
DLR イメージ分類モデルストア ~2.1.0 ハード
DLR ~1.6.0 ハード
2.1.6

次の表に、このコンポーネントのバージョン 2.1.6 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.6.0 ソフト
DLR イメージ分類モデルストア ~2.1.0 ハード
DLR ~1.6.0 ハード
2.1.4 - 2.1.5

次の表に、このコンポーネントのバージョン 2.1.4 から 2.1.5 までの依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.5.0 ソフト
DLR イメージ分類モデルストア ~2.1.0 ハード
DLR ~1.6.0 ハード
2.1.3

次の表に、このコンポーネントのバージョン 2.1.3 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.4.0 ソフト
DLR イメージ分類モデルストア ~2.1.0 ハード
DLR ~1.6.0 ハード
2.1.2

次の表に、このコンポーネントのバージョン 2.1.2 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.3.0 ソフト
DLR イメージ分類モデルストア ~2.1.0 ハード
DLR ~1.6.0 ハード
2.1.1

次の表に、このコンポーネントのバージョン 2.1.1 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.2.0 ソフト
DLR イメージ分類モデルストア ~2.1.0 ハード
DLR ~1.6.0 ハード
2.0.x

次の表に、このコンポーネントのバージョン 2.0.x の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus ~2.0.0 ソフト
DLR イメージ分類モデルストア ~2.0.0 ハード
DLR ~1.3.0 ソフト

構成

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

2.1.x
accessControl

(オプション) コンポーネントがデフォルトの通知トピックにメッセージをパブリッシュできるようにする承認ポリシーを含むオブジェクト。

デフォルト:

{ "aws.greengrass.ipc.mqttproxy": { "aws.greengrass.DLRImageClassification:mqttproxy:1": { "policyDescription": "Allows access to publish via topic ml/dlr/image-classification.", "operations": [ "aws.greengrass#PublishToIoTCore" ], "resources": [ "ml/dlr/image-classification" ] } } }
PublishResultsOnTopic

(オプション) 推論結果をパブリッシュするトピック。この値を変更する場合は、カスタムトピック名と一致するように resources パラメータの accessControl の値も変更する必要があります。

デフォルト: ml/dlr/image-classification

Accelerator

使用するアクセラレーター。サポートされている値は、cpu および gpu です。

依存モデルコンポーネントのサンプルモデルは CPU アクセラレーションのみをサポートします。別のカスタムモデルで GPU アクセラレーションを使用するには、カスタムモデルコンポーネントを作成して、パブリックモデルコンポーネントを上書きします。

デフォルト: cpu

ImageDirectory

(オプション) 推論コンポーネントがイメージを読み取る場所と成る、デバイス上のフォルダへのパス。この値は、読み取り/書き込みアクセス権を持つデバイスの任意の場所に変更できます。

デフォルト: /greengrass/v2/packages/artifacts-unarchived/component-name/image_classification/sample_images/

注記

UseCameratrue の値に設定した場合、この設定パラメータは無視されます。

ImageName

(オプション) 推論コンポーネントが予測を行う際の入力として使用するイメージの名前。コンポーネントは、ImageDirectory で指定されたフォルダ内のイメージを検索します。デフォルトでは、コンポーネントはデフォルトのイメージディレクトリでサンプルイメージを使用します。 は、jpeg、、jpgpngおよび のイメージ形式 AWS IoT Greengrass をサポートしていますnpy

デフォルト: cat.jpeg

注記

UseCameratrue の値に設定した場合、この設定パラメータは無視されます。

InferenceInterval

(オプション) 推論コードによって行われた各予測間の時間 (秒単位)。サンプル推論コードは無期限に実行され、指定された時間間隔で予測を繰り返します。例えば、カメラで撮影したイメージをリアルタイム予測に使用する場合などには、この間隔を短い間隔に変更できます。

デフォルト: 3600

ModelResourceKey

(オプション) 依存パブリックモデルコンポーネントで使用されるモデル。このパラメータを変更するのは、パブリックモデルコンポーネントをカスタムコンポーネントでオーバーライドする場合のみです。

デフォルト:

{ "armv7l": "DLR-resnet50-armv7l-cpu-ImageClassification", "aarch64": "DLR-resnet50-aarch64-cpu-ImageClassification", "x86_64": "DLR-resnet50-x86_64-cpu-ImageClassification", "windows": "DLR-resnet50-win-cpu-ImageClassification" }
UseCamera

(オプション) Greengrass コアデバイスに接続されたカメラの画像を使用するかどうかを定義する文字列値。サポートされている値は、true および false です。

この値を true に設定した場合、サンプル推論コードはデバイスのカメラにアクセスし、キャプチャしたイメージでローカルに推論を実行します。ImageNameImageDirectory パラメータの値は無視されます。このコンポーネントを実行しているユーザーが、カメラがキャプチャしたイメージを保存する場所への、読み込み/書き込みアクセス権を持っていることを確認します。

デフォルト: false

注記

このコンポーネントの recipe を表示すると、UseCamera 設定パラメータはデフォルト設定には表示されません。ただし、このパラメータの値は、コンポーネントをデプロイするときに、[configuration merge update] (設定マージの更新) で変更することができます。

UseCameratrue に設定する場合は、ランタイムコンポーネントによって作成された仮想環境から推論コンポーネントがカメラにアクセスできるようにするためのシンボルリンクも作成する必要があります。サンプル推論コンポーネントを使用したカメラの使用方法の詳細については、「コンポーネント設定の更新」を参照してください。

2.0.x
MLRootPath

(オプション) 推論コンポーネントがイメージを読み取り、推論結果を書き込む Linux コアデバイスのフォルダのパス。この値は、このコンポーネントを実行しているユーザーが読み取り/書き込みアクセス権を持つデバイスの任意の場所に変更できます。

デフォルト: /greengrass/v2/work/variant.DLR/greengrass_ml

デフォルト: /greengrass/v2/work/variant.TensorFlowLite/greengrass_ml

Accelerator

使用するアクセラレーター。サポートされている値は、cpu および gpu です。

依存モデルコンポーネントのサンプルモデルは CPU アクセラレーションのみをサポートします。別のカスタムモデルで GPU アクセラレーションを使用するには、カスタムモデルコンポーネントを作成して、パブリックモデルコンポーネントを上書きします。

デフォルト: cpu

ImageName

(オプション) 推論コンポーネントが予測を行う際の入力として使用するイメージの名前。コンポーネントは、ImageDirectory で指定されたフォルダ内のイメージを検索します。デフォルトの場所は ですMLRootPath/images。 は、、jpegjpg、および のイメージ形式 AWS IoT Greengrass をサポートしていますpngnpy

デフォルト: cat.jpeg

InferenceInterval

(オプション) 推論コードによって行われた各予測間の時間 (秒単位)。サンプル推論コードは無期限に実行され、指定された時間間隔で予測を繰り返します。例えば、カメラで撮影したイメージをリアルタイム予測に使用する場合などには、この間隔を短い間隔に変更できます。

デフォルト: 3600

ModelResourceKey

(オプション) 依存パブリックモデルコンポーネントで使用されるモデル。このパラメータを変更するのは、パブリックモデルコンポーネントをカスタムコンポーネントでオーバーライドする場合のみです。

デフォルト:

armv7l: "DLR-resnet50-armv7l-cpu-ImageClassification" x86_64: "DLR-resnet50-x86_64-cpu-ImageClassification"

ローカルログファイル

このコンポーネントは次のログファイルを使用します。

Linux
/greengrass/v2/logs/aws.greengrass.DLRImageClassification.log
Windows
C:\greengrass\v2\logs\aws.greengrass.DLRImageClassification.log
このコンポーネントのログを確認するには
  • コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。/greengrass/v2 または C:\greengrass\v2 を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

    Linux
    sudo tail -f /greengrass/v2/logs/aws.greengrass.DLRImageClassification.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\aws.greengrass.DLRImageClassification.log -Tail 10 -Wait

変更ログ

次の表は、コンポーネントの各バージョンにおける変更を示します。

バージョン

変更

2.1.14

Greengrass nucleus 2.12.5 リリース用にバージョンが更新されました。

2.1.13

Greengrass nucleus バージョン 2.12.0 リリース用にバージョンが更新されました。

2.1.12

Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。

2.1.11

Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。

2.1.10

Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。

2.1.9

Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。

2.1.8

Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。

2.1.7

Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。

2.1.6

Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。

2.1.5

すべての でリリースされたコンポーネント AWS リージョン。

2.1.4

Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。

このバージョンは欧州 (ロンドン) では利用できません (eu-west-2)。

2.1.3

Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。

2.1.2

Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。

2.1.1

新機能
  • 深層学習ランタイム のバージョン 1.6.0.を使用します。

  • Armv8 (AArch64) プラットフォームでのサンプルイメージ分類のサポートが追加されました。これにより、Jetson Nano などの NVIDIA Jetson を実行している Greengrass コアデバイスにまで機械学習サポートが拡張されます。

  • サンプル推論でカメラ統合が可能になりました。新しい UseCamera 設定パラメータを使用すると、サンプル推論コードが Greengrass コアデバイスのカメラにアクセスできるようになり、キャプチャしたイメージ上でローカルに推論を実行できるようになります。

  • AWS クラウドに推論結果をパブリッシュするためのサポートが追加されました。新しい PublishResultsOnTopic 設定パラメータを使用して、結果をパブリッシュするトピックを指定します。

  • 推論を実行するイメージ用のカスタムディレクトリを指定できる新しい ImageDirectory 設定パラメータが追加されました。

バグ修正と機能向上
  • 別の推論ファイルではなく、コンポーネントログファイルに推論結果を書き込みます。

  • AWS IoT Greengrass Core ソフトウェアログ記録モジュールを使用して、コンポーネントの出力をログに記録します。

  • AWS IoT Device SDK を使用してコンポーネント設定を読み取り、設定変更を適用します。

2.0.4

当初のバージョン