DLR ランタイム - AWS IoT Greengrass

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

DLR ランタイム

DLR ランタイムコンポーネント (variant.DLR) には、深層学習ランタイム (DLR) とその依存関係をお使いのデバイスの仮想環境にインストールするスクリプトが含まれています。DLR イメージ分類 および DLR オブジェクトの検出 コンポーネントは、DLR をインストールするための依存関係としてこのコンポーネントを使用します。コンポーネントバージョン 1.6.x は DLR v1.6.0 をインストールし、コンポーネントバージョン 1.3.x は DLR v1.3.0 をインストールします。

別のランタイムを使用するには、このコンポーネントの recipe をテンプレートとして使用して、カスタム機械学習コンポーネントを作成することができます。

バージョン

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

  • 1.6.x

  • 1.3.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 OSwireseye には以前のバージョンの が含まれているため 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 を再起動します。

エンドポイントおよびポート

デフォルトでは、このコンポーネントは、インストーラスクリプトを使い、コアデバイスが使用するプラットフォームに応じて、aptyumbrew、および pip コマンドを使用してパッケージをインストールします。このコンポーネントは、インストーラスクリプトを実行するために、さまざまなパッケージインデックスおよびリポジトリへのアウトバウンドリクエストを実行できる必要があります。このコンポーネントのアウトバウンドトラフィックがプロキシまたはファイアウォールを通過できるようにするには、コアデバイスがインストールに接続するパッケージインデックスとリポジトリのエンドポイントを特定する必要があります。

このコンポーネントのインストールスクリプトに必要なエンドポイントを特定するときは、次の点を考慮してください。

  • エンドポイントは、コアデバイスのプラットフォームによって異なります。例えば、Ubuntu を実行するコアデバイスでは、yum または brew ではなく apt を使用します。さらに、同じパッケージインデックスを使用するデバイスは、異なるソースリストを持つ可能性があるため、異なるリポジトリからパッケージを取得する場合があります。

  • 各デバイスにはパッケージの取得場所を定義する独自のソースリストがあるため、同じパッケージインデックスを使用する複数のデバイス間でエンドポイントが異なる場合があります。

  • エンドポイントは時間の経過とともに変化する可能性があります。各パッケージインデックスは、パッケージをダウンロードするリポジトリの URL を提供し、パッケージの所有者は、パッケージインデックスが提供する URL を変更できます。

このコンポーネントがインストールする依存関係とインストーラスクリプトを無効にする方法の詳細については、「 UseInstaller設定パラメータ」を参照してください。

基本的な操作に必要なエンドポイントとポートの詳細については、「プロキシまたはファイアウォールを介したデバイストラフィックを許可する」を参照してください。

依存関係

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

1.6.11 and 1.6.12

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

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <3.0.0 ソフト
1.6.10

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

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.9.0 ソフト
1.6.9

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

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.8.0 ソフト
1.6.8

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

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.7.0 ソフト
1.6.6 and 1.6.7

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

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.6.0 ソフト
1.6.4 and 1.6.5

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

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.5.0 ソフト
1.6.3

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

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.4.0 ソフト
1.6.2

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

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.3.0 ソフト
1.6.1

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

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.2.0 ソフト
1.3.x

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

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus ~2.0.0 ソフト

コンポーネントの依存関係の詳細については、「コンポーネント recipe のリファレンス」を参照してください。

構成

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

MLRootPath

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

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

WindowsMLRootPath

この機能は、このコンポーネントの v1.6.6 以降で利用できます。

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

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

UseInstaller

(オプション) DLR とその依存関係をインストールするために、このコンポーネントでインストーラスクリプトを使用するかどうかを定義する文字列値。サポートされている値は、true および false です。

DLR のインストールにカスタムスクリプトを使用する場合、またはビルド済みの Linux イメージにランタイムの依存関係を含める場合は、この値を false に設定します。このコンポーネントを AWS の提供する DLR 推論コンポーネントで使用するには、依存関係を含む次のライブラリをインストールし、ML コンポーネントを実行する ggc_user などのシステムユーザーを利用できるようにします。

デフォルト: true

使用方法

このコンポーネントを UseInstaller 設定パラメータを true 設定した状態で使用し、DLR とその依存関係をデバイスにインストールします。コンポーネントは、DLR に必要な OpenCV と NumPy ライブラリを含む仮想環境をデバイスに設定します。

注記

このコンポーネントのインストーラスクリプトは、デバイスの仮想環境を設定し、インストールされている機械学習フレームワークを使用するために必要な最新バージョンの追加システムライブラリもインストールします。これにより、デバイスで既存のシステムライブラリがアップグレードされる可能性があります。次の表で、サポートされている各オペレーティングシステムに、このコンポーネントがインストールするライブラリの一覧を確認してください。このインストールプロセスをカスタマイズする場合は、UseInstaller 設定パラメータを false に設定し、独自のインストーラスクリプトを開発します。

プラットフォーム デバイスシステムにインストールされているライブラリ 仮想環境にインストールされているライブラリ
Armv7l build-essential, cmake, ca-certificates, git setuptools, wheel
Amazon Linux 2 mesa-libGL なし
Ubuntu wget なし

推論コンポーネントをデプロイすると、このランタイムコンポーネントはまず、デバイスにすでに DLR とその依存関係がインストールされているかどうかを検証し、インストールされていない場合にはインストールします。

ローカルログファイル

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

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

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

変更ログ

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

バージョン

変更

1.6.12

バグ修正と機能向上
  • Windows OS ユーザー用のインストールスクリプトを修正します。

1.6.11

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

1.6.10

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

1.6.9

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

1.6.8

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

1.6.7

バグ修正と機能向上
  • UseInstaller インストールスクリプトを更新して libGL をインストールします。これは、一部の Linux プラットフォームではデフォルトで利用できません。

  • このコンポーネントの仮想環境で常に Python 3.9 を使用するように、UseInstaller インストールスクリプトを更新します。この変更は、他のライブラリとの互換性を確保するのに役立ちます。

1.6.6

新機能
  • Windows を実行するコアデバイスのサポートが追加されました。

  • Windows コアデバイスで推論結果フォルダを設定するために使用できる新しい WindowsMLRootPath 設定パラメータを追加しました。

1.6.5

新機能
  • このコンポーネントのインストールスクリプトを無効にできる新しい UseInstaller 設定パラメータを追加しました。

1.6.4

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

1.6.3

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

1.6.2

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

1.6.1

新機能
  • 深層学習ランタイム v1.6.0 とその依存関係をインストールします。

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

バグ修正と機能向上
  • 仮想環境で AWS IoT Device SDK をインストールしてコンポーネント設定を読み取り、設定の変更を適用します。

  • マイナーなバグの追加修正と機能向上。

1.3.2

当初のバージョン DLR v1.3.0 をインストールします。