機械学習の推論に対するトラブルシューティング - AWS IoT Greengrass

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

機械学習の推論に対するトラブルシューティング

このセクションのトラブルシューティング情報と解決策を使用して、機械学習コンポーネントの問題を解決してください。パブリック機械学習の推論コンポーネントについては、次のコンポーネントログのエラーメッセージを参照してください。

Linux or Unix
  • /greengrass/v2/logs/aws.greengrass.DLRImageClassification.log

  • /greengrass/v2/logs/aws.greengrass.DLRObjectDetection.log

  • /greengrass/v2/logs/aws.greengrass.TensorFlowLiteImageClassification.log

  • /greengrass/v2/logs/aws.greengrass.TensorFlowLiteObjectDetection.log

Windows
  • C:\greengrass\v2\logs\aws.greengrass.DLRImageClassification.log

  • C:\greengrass\v2\logs\aws.greengrass.DLRObjectDetection.log

  • C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteImageClassification.log

  • C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteObjectDetection.log

コンポーネントが正しくインストールされている場合、コンポーネントログに推論に使用するライブラリの場所が含まれます。

ライブラリのフェッチに失敗しました

次のエラーは、Raspberry Pi デバイスへのデプロイ中にインストーラスクリプトが必要なライブラリのダウンロードに失敗したときに発生します。

Err:2 http://raspbian.raspberrypi.org/raspbian buster/main armhf python3.7-dev armhf 3.7.3-2+deb10u1 404 Not Found [IP: 93.93.128.193 80] E: Failed to fetch http://raspbian.raspberrypi.org/raspbian/pool/main/p/python3.7/libpython3.7-dev_3.7.3-2+deb10u1_armhf.deb 404 Not Found [IP: 93.93.128.193 80]

sudo apt-get update を実行してコンポーネントを再度デプロイします。

Cannot open shared object file

インストーラスクリプトが、Raspberry Pi デバイスへのデプロイ時に opencv-python の必要な従属関係のダウンロードに失敗するとき、次のようなエラーが表示される場合があります。

ImportError: libopenjp2.so.7: cannot open shared object file: No such file or directory

以下のコマンドを実行して、opencv-pythonの従属関係を手動でインストールします:

sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev

Error: ModuleNotFoundError: No module named '<library>'

ML ランタイムライブラリまたはその依存関係が正しくインストールされていないとき、ML ランタイム コンポーネント ログ (variant.DLR.log または variant.TensorFlowLite.log) にこのエラーが表示されることがあります。このエラーは、次の状況に発生する可能性があります:

  • デフォルトで有効になっている UseInstaller オプションを使用する場合、このエラーは、ML ランタイムコンポーネントがランタイムまたはその従属関係のインストールに失敗したことを示します。以下の操作を実行します。

    1. ML ランタイムコンポーネントを設定して UseInstaller オプションを無効にすします。

    2. ML ランタイムとその従属関係をインストールし、ML コンポーネントを実行するシステムユーザーがそれらを利用できるようにします。詳細については、次を参照してください。

  • UseInstaller オプションを使用しない場合、このエラーは、ML コンポーネントを実行するシステムユーザーに ML ランタイムまたはその従属関係がインストールされていないことを示します。以下の操作を実行します。

    1. ML コンポーネントを実行するシステムユーザー用にライブラリがインストールされていることを確認します。ggc_user をシステムユーザーの名前に置き換えて、tflite_runtime を確認するライブラリの名前に置き換えます。

      Linux or Unix
      sudo -H -u ggc_user bash -c "python3 -c 'import tflite_runtime'"
      Windows
      runas /user:ggc_user "py -3 -c \"import tflite_runtime\""
    2. ライブラリがインストールされていない場合は、そのユーザー用にインストールします。ggc_user をシステムユーザーの名前に置き換えて、tflite_runtime をライブラリの名前に置き換えます。

      Linux or Unix
      sudo -H -u ggc_user bash -c "python3 -m pip install --user tflite_runtime"
      Windows
      runas /user:ggc_user "py -3 -m pip install --user tflite_runtime"

      各 ML ランタイムの従属関係の詳細については、次を参照してください。

    3. 問題が解決しない場合、別のユーザー用にライブラリをインストールして、このデバイスでライブラリをインストールできるかどうかを確認します。例えば、ユーザーは、お客様のユーザー、ルートユーザー、管理者ユーザーの場合があります。どのユーザーに対してもライブラリを正常にインストールできない場合、デバイスがライブラリをサポートしていない可能性があります。ライブラリのマニュアルを参照して、要件を確認してインストールの問題のトラブルシューティングを行ってください。

CUDA 対応デバイスが検出されません

GPU アクセラレーションを使用すると、次のエラーが表示されることがあります。次のコマンドを実行して、Greengrass ユーザーの GPU アクセスを有効にします。

sudo usermod -a -G video ggc_user

そのようなファイルまたはディレクトリはありません

次のエラーは、ランタイムコンポーネントが仮想環境を正しく設定できなかったことを示します:

  • MLRootPath/greengrass_ml_dlr_conda/bin/conda: No such file or directory

  • MLRootPath/greengrass_ml_dlr_venv/bin/activate: No such file or directory

  • MLRootPath/greengrass_ml_tflite_conda/bin/conda: No such file or directory

  • MLRootPath/greengrass_ml_tflite_venv/bin/activate: No such file or directory

ログをチェックして、すべてのランタイム従属関係が正しくインストールされていることを確認します。インストーラスクリプトによってインストールされたライブラリの詳細については、次のトピックを参照してください。

デフォルトでは、MLRootPath は に設定されています/greengrass/v2/work/component-name/greengrass_ml。この場所を変更するには、DLR ランタイム または TensorFlow Lite ランタイム ランタイムコンポーネントをデプロイに直接含めて、MLRootPath パラメータの修正値を設定マージ更新に指定です。コンポーネントの設定の詳細については、「コンポーネント設定の更新」を参照してください。

注記

DLR コンポーネント v1.3.x の場合、推論コンポーネントの設定で MLRootPath パラメータを設定し、デフォルト値は $HOME/greengrass_ml です。

RuntimeError: module compiled against API version 0xf but this version of NumPy is <version>

Raspberry Pi OS Bullseye を実行している Raspberry Pi で機械学習の推論を実行するとき、次のエラーが表示される場合があります。

RuntimeError: module compiled against API version 0xf but this version of numpy is 0xd ImportError: numpy.core.multiarray failed to import

このエラーは、Raspberry Pi OSwireseye に OpenCV が必要とするバージョン NumPyより前のバージョンの が含まれているために発生します。この問題を解決するには、次のコマンドを実行して最新バージョン NumPy にアップグレードします。

pip3 install --upgrade numpy

picamera.exc.PiCameraError: Camera is not enabled

Raspberry Pi OS Bullseye を実行している Raspberry Pi で機械学習の推論を実行するとき、次のエラーが表示される場合があります。

picamera.exc.PiCameraError: Camera is not enabled. Try running 'sudo raspi-config' and ensure that the camera has been enabled.

このエラーは、Raspberry Pi OS Bullseye に ML コンポーネントと互換性のない新しいカメラスタックが含まれているために発生します。この問題を解決するには、レガシーカメラスタックを有効にします。

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

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

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

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

メモリエラー

次のエラーは、通常、デバイスに十分なメモリがなく、コンポーネントプロセスが中断された場合に発生します。

  • stderr. Killed.

  • exitCode=137

パブリック機械学習の推論コンポーネントをデプロイするには、最低 500 MB のメモリを推奨します。

ディスク容量エラー

no space left on device エラーは、通常、デバイスに十分なストレージがない場合に発生します。コンポーネントを再度デプロイする前に、デバイスに十分なディスク容量があることを確認してください。パブリック機械学習の推論コンポーネントをデプロイするには、最低 500 MB の空きディスク容量をお勧めします。

タイムアウトエラー

パブリック機械学習コンポーネントは、200 MB を超える大きな機械学習モデルファイルをダウンロードします。デプロイ中にダウンロードがタイムアウトした場合、インターネット接続速度を確認してデプロイを再試行してください。