本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
機器學習推論疑難排解
使用本節中的疑難排解資訊和解決方案,協助解決機器學習元件的問題。如需公用機器學習推論元件,請參閱下列元件記錄檔中的錯誤訊息:
如果元件已正確安裝,則元件記錄檔會包含其用於推論之程式庫的位置。
問題
無法擷取程式庫
當安裝程式指令碼無法在 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 執行階段程式庫variant.DLR.log
或其相依性未正確安裝時,您可能會在 ML 執行階段元件記錄檔 (或variant.TensorFlowLite.log
) 中看到這個錯誤。在下列情況下,可能會發生此錯誤:
-
如果您使用預設為啟用的
UseInstaller
選項,則此錯誤表示 ML 執行階段元件無法安裝執行階段或其相依性。請執行下列操作:-
設定 ML 執行階段元件以停用
UseInstaller
此選項。 -
安裝 ML 執行階段及其相依性,並讓執行 ML 元件的系統使用者可以使用它們。如需詳細資訊,請參閱下列內容:
-
-
如果您未使用此選
UseInstaller
項,則此錯誤表示 ML 執行階段或其相依性並未針對執行 ML 元件的系統使用者安裝。請執行下列操作:-
檢查是否已為執行 ML 元件的系統使用者安裝程式庫。將
ggc_user
取代為系統使用者的名稱,並以要檢查的程式庫名稱取代tflite_runtime
。 -
如果未安裝程式庫,請為該使用者安裝它。將
ggc_user
取代為系統使用者的名稱,並以程式庫的名稱取代tflite_runtime
。如需有關每個 ML 執行階段之相依性的詳細資訊,請參閱下列內容:
-
如果問題仍然存在,請為其他使用者安裝程式庫,以確認此裝置是否可以安裝程式庫。使用者可以是例如,您的使用者、root 使用者或管理員使用者。如果您無法為任何使用者成功安裝程式庫,您的裝置可能不支援該程式庫。請參閱程式庫的文件,以檢閱需求並疑難排解安裝問題。
-
未偵測到具有 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
檢查記錄檔,確定所有執行階段相依性都已正確安裝。如需安裝程式指令碼所安裝之程式庫的詳細資訊,請參閱下列主題:
默認情況下 ML RootPath
設置為
。若要變更此位置,請直接在部署中包含DLR 執行階段或TensorFlow 精簡版運行執行階段元件,並在組態合併更新中指定
/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>
您可能會看到下列錯誤,當您運行機器學習推論上樹莓派作業系統靶心樹莓派.
RuntimeError: module compiled against API version 0xf but this version of numpy is 0xd ImportError: numpy.core.multiarray failed to import
發生此錯誤是因為樹莓派 OS 靶心包含 NumPy比 OpenCV 需要的版本的早期版本。若要修正此問題,請執行下列命令以升級 NumPy 至最新版本。
pip3 install --upgrade numpy
picamera.exc.PiCameraError: Camera is not enabled
您可能會看到下列錯誤,當您執行機器學習推論樹莓派上運行樹莓派作業系統靶心.
picamera.exc.PiCameraError: Camera is not enabled. Try running 'sudo raspi-config' and ensure that the camera has been enabled.
之所以發生此錯誤,是因為樹莓派 OS 靶心包含與 ML 元件不相容的新相機堆疊。若要修正此問題,請啟用舊式攝影機堆疊。
啟用舊式相機堆疊
-
運行以下命令以打開樹莓派配置工具。
sudo raspi-config
-
選取介面選項。
-
選取「舊式相機」以啟用舊式相機堆疊。
-
重新啟動 Raspberry Pi。
記憶體錯誤
當裝置沒有足夠的記憶體且元件程序中斷時,通常會發生下列錯誤。
-
stderr. Killed.
-
exitCode=137
我們建議您至少使用 500 MB 的記憶體來部署公用機器學習推論元件。
磁碟空間錯誤
該no space left on device
錯誤通常發生在設備沒有足夠的存儲空間時。請確定裝置上有足夠的可用磁碟空間,然後再次部署元件。我們建議至少有 500 MB 的可用磁碟空間來部署公用機器學習推論元件。
逾時錯誤
公用機器學習元件會下載大於 200 MB 的大型機器學習模型檔案。如果下載在部署期間逾時,請檢查網際網路連線速度,然後重試部署。