Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Résolution des problèmes liés à l'inférence par apprentissage automatique
Utilisez les informations de dépannage et les solutions de cette section pour résoudre les problèmes liés à vos composants d'apprentissage automatique. Pour les composants publics d'inférence d'apprentissage automatique, consultez les messages d'erreur dans les journaux des composants suivants :
Si un composant est correctement installé, le journal du composant contient l'emplacement de la bibliothèque qu'il utilise pour l'inférence.
Problèmes
- Impossible de récupérer la bibliothèque
- Cannot open shared object file
- Error: ModuleNotFoundError: No module named '<library>'
- Aucun appareil compatible CUDA n'est détecté
- Aucun fichier ou répertoire de ce type
- RuntimeError: module compiled against API version 0xf but this version of NumPy is <version>
- picamera.exc.PiCameraError: Camera is not enabled
- Erreurs mémoires
- Erreurs liées à l'espace disque
- Erreurs de délai d'attente
Impossible de récupérer la bibliothèque
L'erreur suivante se produit lorsque le script d'installation ne parvient pas à télécharger une bibliothèque requise lors du déploiement sur un périphérique 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]
Exécutez sudo apt-get update
et déployez à nouveau votre composant.
Cannot open shared object file
Des erreurs similaires aux suivantes peuvent s'afficher lorsque le script d'installation ne parvient pas à télécharger une dépendance requise opencv-python
lors du déploiement sur un périphérique Raspberry Pi.
ImportError: libopenjp2.so.7: cannot open shared object file: No such file or directory
Exécutez la commande suivante pour installer manuellement les dépendances pour 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>'
Cette erreur peut s'afficher dans les journaux des composants d'exécution ML (variant.DLR.log
ouvariant.TensorFlowLite.log
) lorsque la bibliothèque d'exécution ML ou ses dépendances ne sont pas installées correctement. Cette erreur peut se produire dans les cas suivants :
-
Si vous utilisez l'
UseInstaller
option, qui est activée par défaut, cette erreur indique que le composant d'exécution ML n'a pas réussi à installer le moteur d'exécution ou ses dépendances. Procédez comme suit :-
Configurez le composant d'exécution ML pour désactiver l'
UseInstaller
option. -
Installez le moteur d'exécution ML et ses dépendances, puis mettez-les à la disposition de l'utilisateur du système qui exécute les composants du ML. Pour plus d’informations, consultez les ressources suivantes :
-
-
Si vous n'utilisez pas cette
UseInstaller
option, cette erreur indique que le moteur d'exécution ML ou ses dépendances ne sont pas installés pour l'utilisateur du système qui exécute les composants ML. Procédez comme suit :-
Vérifiez que la bibliothèque est installée pour l'utilisateur du système qui exécute les composants ML. Remplacez
ggc_user
par le nom de l'utilisateur du système et remplaceztflite_runtime par le nom de la bibliothèque
à vérifier. -
Si la bibliothèque n'est pas installée, installez-la pour cet utilisateur. Remplacez
ggc_user
par le nom de l'utilisateur du système et remplaceztflite_runtime
par le nom de la bibliothèque.Pour plus d'informations sur les dépendances de chaque environnement d'exécution ML, consultez les rubriques suivantes :
-
Si le problème persiste, installez la bibliothèque pour un autre utilisateur afin de vérifier si ce périphérique peut installer la bibliothèque. L'utilisateur peut être, par exemple, votre utilisateur, l'utilisateur root ou un utilisateur administrateur. Si vous ne parvenez pas à installer correctement la bibliothèque pour un utilisateur, il est possible que votre appareil ne la prenne pas en charge. Consultez la documentation de la bibliothèque pour connaître les exigences et résoudre les problèmes d'installation.
-
Aucun appareil compatible CUDA n'est détecté
L'erreur suivante peut s'afficher lorsque vous utilisez l'accélération GPU. Exécutez la commande suivante pour permettre à l'utilisateur de Greengrass d'accéder au GPU.
sudo usermod -a -G video ggc_user
Aucun fichier ou répertoire de ce type
Les erreurs suivantes indiquent que le composant d'exécution n'a pas pu configurer correctement l'environnement virtuel :
-
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
Vérifiez les journaux pour vous assurer que toutes les dépendances d'exécution ont été correctement installées. Pour plus d'informations sur les bibliothèques installées par le script d'installation, consultez les rubriques suivantes :
Par défaut, ML RootPath
est défini sur
. Pour modifier cet emplacement, incluez le composant TensorFlow Temps d'exécution allégé d'exécution Temps d'exécution du DLR ou directement dans votre déploiement et spécifiez une valeur modifiée pour le
/work//greengrass/v2
component-name
/greengrass_mlMLRootPath
paramètre dans une mise à jour de fusion de configuration. Pour plus d'informations sur la configuration du composant, consultezMettre à jour les configurations des composants.
Note
Pour le composant DLR v1.3.x, vous définissez le MLRootPath
paramètre dans la configuration du composant d'inférence, et la valeur par défaut est. $HOME/greengrass_ml
RuntimeError: module compiled against API version 0xf but this version of NumPy is <version>
Les erreurs suivantes peuvent s'afficher lorsque vous exécutez l'inférence d'apprentissage automatique sur un Raspberry Pi exécutant Raspberry Pi OS Bullseye.
RuntimeError: module compiled against API version 0xf but this version of numpy is 0xd ImportError: numpy.core.multiarray failed to import
Cette erreur se produit car Raspberry Pi OS Bullseye inclut une version antérieure à NumPy celle requise par OpenCV. Pour résoudre ce problème, exécutez la commande suivante pour effectuer la mise NumPy à niveau vers la dernière version.
pip3 install --upgrade numpy
picamera.exc.PiCameraError: Camera is not enabled
L'erreur suivante peut s'afficher lorsque vous exécutez l'inférence d'apprentissage automatique sur un Raspberry Pi exécutant Raspberry Pi OS Bullseye.
picamera.exc.PiCameraError: Camera is not enabled. Try running 'sudo raspi-config' and ensure that the camera has been enabled.
Cette erreur se produit car Raspberry Pi OS Bullseye inclut une nouvelle pile de caméras qui n'est pas compatible avec les composants ML. Pour résoudre ce problème, activez l'ancienne pile de caméras.
Pour activer l'ancienne pile de caméras
-
Exécutez la commande suivante pour ouvrir l'outil de configuration du Raspberry Pi.
sudo raspi-config
-
Sélectionnez Options d'interface.
-
Sélectionnez Legacy camera pour activer l'ancienne pile de caméras.
-
Redémarrez l'appareil Raspberry Pi.
Erreurs mémoires
Les erreurs suivantes se produisent généralement lorsque le périphérique ne dispose pas de suffisamment de mémoire et que le processus du composant est interrompu.
-
stderr. Killed.
-
exitCode=137
Nous recommandons un minimum de 500 Mo de mémoire pour déployer un composant public d'inférence d'apprentissage automatique.
Erreurs liées à l'espace disque
L'no space left on device
erreur se produit généralement lorsqu'un appareil ne dispose pas de suffisamment d'espace de stockage. Assurez-vous que l'espace disque disponible sur votre appareil est suffisant avant de déployer à nouveau le composant. Nous recommandons un minimum de 500 Mo d'espace disque libre pour déployer un composant public d'inférence d'apprentissage automatique.
Erreurs de délai d'attente
Les composants publics d'apprentissage automatique téléchargent de gros fichiers de modèles d'apprentissage automatique d'une taille supérieure à 200 Mo. Si le délai de téléchargement expire pendant le déploiement, vérifiez la vitesse de votre connexion Internet et réessayez le déploiement.