翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
機械学習の推論に対するトラブルシューティング
このセクションのトラブルシューティング情報と解決策を使用して、機械学習コンポーネントの問題を解決してください。パブリック機械学習の推論コンポーネントについては、次のコンポーネントログのエラーメッセージを参照してください。
コンポーネントが正しくインストールされている場合、コンポーネントログに推論に使用するライブラリの場所が含まれます。
問題
- ライブラリのフェッチに失敗しました
- Cannot open shared object file
- Error: ModuleNotFoundError: No module named '<library>'
- CUDA 対応デバイスが検出されません
- そのようなファイルまたはディレクトリはありません
- RuntimeError: module compiled against API version 0xf but this version of NumPy is <version>
- picamera.exc.PiCameraError: Camera is not enabled
- メモリエラー
- ディスク容量エラー
- タイムアウトエラー
ライブラリのフェッチに失敗しました
次のエラーは、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 ランタイムコンポーネントがランタイムまたはその従属関係のインストールに失敗したことを示します。以下の操作を実行します。-
ML ランタイムコンポーネントを設定して
UseInstaller
オプションを無効にすします。 -
ML ランタイムとその従属関係をインストールし、ML コンポーネントを実行するシステムユーザーがそれらを利用できるようにします。詳細については、次を参照してください:
-
-
UseInstaller
オプションを使用しない場合、このエラーは、ML コンポーネントを実行するシステムユーザーに ML ランタイムまたはその従属関係がインストールされていないことを示します。以下の操作を実行します。-
ML コンポーネントを実行するシステムユーザー用にライブラリがインストールされていることを確認します。
ggc_user
をシステムユーザーの名前に置き換えて、tflite_runtime
を確認するライブラリの名前に置き換えます。 -
ライブラリがインストールされていない場合は、そのユーザー用にインストールします。
ggc_user
をシステムユーザーの名前に置き換えて、tflite_runtime
をライブラリの名前に置き換えます。各 ML ランタイムの従属関係の詳細については、次を参照してください。
-
問題が解決しない場合、別のユーザー用にライブラリをインストールして、このデバイスでライブラリをインストールできるかどうかを確認します。例えば、ユーザーは、お客様のユーザー、ルートユーザー、管理者ユーザーの場合があります。どのユーザーに対してもライブラリを正常にインストールできない場合、デバイスがライブラリをサポートしていない可能性があります。ライブラリのマニュアルを参照して、要件を確認してインストールの問題のトラブルシューティングを行ってください。
-
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
は
に設定されます。この場所を変更するには、DLR ランタイム または TensorFlow Lite ランタイム ランタイムコンポーネントをデプロイに直接含めて、
/work//greengrass/v2
component-name
/greengrass_mlMLRootPath
パラメータの修正値を設定マージ更新に指定です。コンポーネントの設定の詳細については、「コンポーネント設定の更新」を参照してください。
注記
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 OS Bullseye に 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 コンポーネントと互換性のない新しいカメラスタックが含まれているために発生します。この問題を解決するには、レガシーカメラスタックを有効にします。
レガシーカメラスタックを有効にするには
-
次のコマンドを実行して、Raspberry Pi 設定ツールを開きます。
sudo raspi-config
-
[Interface Options] (インターフェイスオプション) を選択します。
-
[Legacy camera] (レガシーカメラ) を選択して、レガシーカメラスタックを有効にします。
-
Raspberry Pi を再起動します。
メモリエラー
次のエラーは、通常、デバイスに十分なメモリがなく、コンポーネントプロセスが中断された場合に発生します。
-
stderr. Killed.
-
exitCode=137
パブリック機械学習の推論コンポーネントをデプロイするには、最低 500 MB のメモリを推奨します。
ディスク容量エラー
no space left on device
エラーは、通常、デバイスに十分なストレージがない場合に発生します。コンポーネントを再度デプロイする前に、デバイスに十分なディスク容量があることを確認してください。パブリック機械学習の推論コンポーネントをデプロイするには、最低 500 MB の空きディスク容量をお勧めします。
タイムアウトエラー
パブリック機械学習コンポーネントは、200 MB を超える大きな機械学習モデルファイルをダウンロードします。デプロイ中にダウンロードがタイムアウトした場合、インターネット接続速度を確認してデプロイを再試行してください。