TensorFlow Temps d'exécution allégé - AWS IoT Greengrass

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.

TensorFlow Temps d'exécution allégé

Le composant d'exécution TensorFlow Lite (variant.TensorFlowLite) contient un script qui installe la version TensorFlow Lite 2.5.0 et ses dépendances dans un environnement virtuel sur votre appareil. Le composant de classification d'images TensorFlow TensorFlow Lite et de détection d'objets Lite utilise ce composant d'exécution comme dépendance pour l'installation de TensorFlow Lite.

Note

TensorFlow Le composant d'exécution Lite v2.5.6 et versions ultérieures réinstalle les installations existantes du moteur d'exécution TensorFlow Lite et ses dépendances. Cette réinstallation permet de s'assurer que le périphérique principal exécute des versions compatibles de TensorFlow Lite et de ses dépendances.

Pour utiliser un autre environnement d'exécution, vous pouvez utiliser la recette de ce composant comme modèle pour créer un composant d'apprentissage automatique personnalisé.

Versions

Les versions de ce composant sont les suivantes :

  • 2,5.x

Type

Ce composant est un composant générique (aws.greengrass.generic). Le noyau Greengrass exécute les scripts de cycle de vie du composant.

Pour plus d’informations, consultez Types de composants.

Système d’exploitation

Ce composant peut être installé sur les appareils principaux qui exécutent les systèmes d'exploitation suivants :

  • Linux

  • Windows

Prérequis

Ce composant répond aux exigences suivantes :

  • Sur les appareils principaux de Greengrass exécutant Amazon Linux 2 ou Ubuntu 18.04, la version 2.27 ou ultérieure de la bibliothèque GNU C (glibc) est installée sur l'appareil.

  • Sur les appareils ARMv7L, tels que Raspberry Pi, les dépendances pour OpenCV-Python sont installées sur l'appareil. Exécutez la commande suivante pour installer les dépendances.

    sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  • Les appareils Raspberry Pi qui exécutent le système d'exploitation Raspberry Pi Bullseye doivent répondre aux exigences suivantes :

    • NumPy 1.22.4 ou version ultérieure installée sur l'appareil. Raspberry Pi OS Bullseye inclut une version antérieure de NumPy. Vous pouvez donc exécuter la commande suivante pour effectuer la mise à niveau NumPy sur l'appareil.

      pip3 install --upgrade numpy
    • L'ancienne pile de caméras activée sur l'appareil. Raspberry Pi OS Bullseye inclut une nouvelle pile de caméras qui est activée par défaut et qui n'est pas compatible. Vous devez donc activer la pile de caméras existante.

      Pour activer l'ancienne pile de caméras
      1. Exécutez la commande suivante pour ouvrir l'outil de configuration du Raspberry Pi.

        sudo raspi-config
      2. Sélectionnez Options d'interface.

      3. Sélectionnez Legacy camera pour activer l'ancienne pile de caméras.

      4. Redémarrez l'appareil Raspberry Pi.

Points de terminaison et ports

Par défaut, ce composant utilise un script d'installation pour installer les packages à l'aide des pip commandes apt yumbrew,, et, en fonction de la plate-forme utilisée par le périphérique principal. Ce composant doit être capable d'exécuter des requêtes sortantes vers différents index de packages et référentiels pour exécuter le script d'installation. Pour autoriser le trafic sortant de ce composant à passer par un proxy ou un pare-feu, vous devez identifier les points de terminaison des index de packages et des référentiels auxquels votre périphérique principal se connecte pour l'installation.

Tenez compte des points suivants lorsque vous identifiez les points de terminaison requis pour le script d'installation de ce composant :

  • Les points de terminaison dépendent de la plate-forme de l'appareil principal. Par exemple, un périphérique principal qui exécute Ubuntu utilise apt plutôt que yum oubrew. En outre, les appareils qui utilisent le même index de packages peuvent avoir des listes de sources différentes, de sorte qu'ils peuvent récupérer des packages à partir de différents référentiels.

  • Les points de terminaison peuvent différer entre plusieurs appareils utilisant le même index de packages, car chaque appareil possède ses propres listes de sources qui définissent où récupérer les packages.

  • Les points de terminaison peuvent changer au fil du temps. Chaque index de package fournit les URL des référentiels dans lesquels vous téléchargez des packages, et le propriétaire d'un package peut modifier les URL fournies par l'index de package.

Pour plus d'informations sur les dépendances installées par ce composant et sur la façon de désactiver le script d'installation, consultez le paramètre UseInstallerde configuration.

Pour plus d'informations sur les points de terminaison et les ports requis pour le fonctionnement de base, consultezAutoriser le trafic des appareils via un proxy ou un pare-feu.

Dépendances

Lorsque vous déployez un composant, il déploie AWS IoT Greengrass également des versions compatibles de ses dépendances. Cela signifie que vous devez satisfaire aux exigences relatives au composant et à toutes ses dépendances pour réussir le déploiement du composant. Cette section répertorie les dépendances des versions publiées de ce composant et les contraintes de version sémantiques qui définissent les versions des composants pour chaque dépendance. Vous pouvez également consulter les dépendances de chaque version du composant dans la AWS IoT Greengrass console. Sur la page de détails du composant, recherchez la liste des dépendances.

2.5.14 and 2.5.15

Le tableau suivant répertorie les dépendances pour les versions 2.5.14 et 2.5.15 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,13.0 Flexible
2.5.13

Le tableau suivant répertorie les dépendances pour la version 2.5.13 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,12.0 Flexible
2.5.12

Le tableau suivant répertorie les dépendances pour la version 2.5.12 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,11.0 Flexible
2.5.11

Le tableau suivant répertorie les dépendances pour la version 2.5.11 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0,0 <2,1,0 Flexible
2.5.10

Le tableau suivant répertorie les dépendances pour la version 2.5.10 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,9.0 Flexible
2.5.9

Le tableau suivant répertorie les dépendances pour la version 2.5.9 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,8.0 Flexible
2.5.8

Le tableau suivant répertorie les dépendances pour la version 2.5.8 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,7.0 Flexible
2.5.5 - 2.5.7

Le tableau suivant répertorie les dépendances pour les versions 2.5.5 à 2.5.7 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,6.0 Flexible
2.5.3 and 2.5.4

Le tableau suivant répertorie les dépendances pour les versions 2.5.3 et 2.5.4 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,5.0 Flexible
2.5.2

Le tableau suivant répertorie les dépendances pour la version 2.5.2 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,4.0 Flexible
2.5.1

Le tableau suivant répertorie les dépendances pour la version 2.5.1 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,3.0 Flexible
2.5.0

Le tableau suivant répertorie les dépendances pour la version 2.5.0 de ce composant.

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,2.0 Flexible

Pour plus d'informations sur les dépendances des composants, consultez la référence de la recette des composants.

Configuration

Ce composant fournit les paramètres de configuration suivants que vous pouvez personnaliser lorsque vous déployez le composant.

MLRootPath

(Facultatif) Le chemin du dossier sur les périphériques principaux Linux où les composants d'inférence lisent les images et écrivent les résultats d'inférence. Vous pouvez modifier cette valeur à n'importe quel emplacement de votre appareil auquel l'utilisateur exécutant ce composant dispose d'un accès en lecture/écriture.

Par défaut : /greengrass/v2/work/variant.TensorFlowLite/greengrass_ml

WindowsMLRootPath

Cette fonctionnalité est disponible dans la version 1.6.6 et les versions ultérieures de ce composant.

(Facultatif) Le chemin du dossier sur le périphérique principal de Windows où les composants d'inférence lisent les images et écrivent les résultats d'inférence. Vous pouvez modifier cette valeur à n'importe quel emplacement de votre appareil auquel l'utilisateur exécutant ce composant dispose d'un accès en lecture/écriture.

Par défaut : C:\greengrass\v2\\work\\variant.DLR\\greengrass_ml

UseInstaller

(Facultatif) Valeur de chaîne qui définit s'il faut utiliser le script d'installation dans ce composant pour installer TensorFlow Lite et ses dépendances. Les valeurs prises en charge sont true et false.

Définissez cette valeur sur false si vous souhaitez utiliser un script personnalisé pour l'installation de TensorFlow Lite ou si vous souhaitez inclure des dépendances d'exécution dans une image Linux prédéfinie. Pour utiliser ce composant avec les composants d'inférence TensorFlow Lite AWS fournis, installez les bibliothèques suivantes, y compris les dépendances, et mettez-les à la disposition de l'utilisateur du système, par exemple celui ggc_user qui exécute les composants ML.

Par défaut : true

Utilisation

Utilisez ce composant avec le paramètre UseInstaller de configuration défini sur true pour installer TensorFlow Lite et ses dépendances sur votre appareil. Le composant configure un environnement virtuel sur votre appareil qui inclut l'OpenCV NumPy et les bibliothèques requises pour Lite. TensorFlow

Note

Le script d'installation de ce composant installe également les dernières versions des bibliothèques système supplémentaires requises pour configurer l'environnement virtuel sur votre appareil et pour utiliser l'infrastructure d'apprentissage automatique installée. Cela peut mettre à niveau les bibliothèques système existantes sur votre appareil. Consultez le tableau suivant pour obtenir la liste des bibliothèques que ce composant installe pour chaque système d'exploitation pris en charge. Si vous souhaitez personnaliser ce processus d'installation, définissez le paramètre UseInstaller de configuration sur false et développez votre propre script d'installation.

Plateforme Bibliothèques installées sur le système de l'appareil Bibliothèques installées dans l'environnement virtuel
Armv7l build-essential, cmake, ca-certificates, git setuptools, wheel
Amazon Linux 2 mesa-libGL Aucun
Ubuntu wget Aucun

Lorsque vous déployez votre composant d'inférence, ce composant d'exécution vérifie d'abord si TensorFlow Lite et ses dépendances sont déjà installés sur votre appareil. Si ce n'est pas le cas, le composant d'exécution les installe pour vous.

Fichier journal local

Ce composant utilise le fichier journal suivant.

Linux
/greengrass/v2/logs/variant.TensorFlowLite.log
Windows
C:\greengrass\v2\logs\variant.TensorFlowLite.log
Pour consulter les journaux de ce composant
  • Exécutez la commande suivante sur le périphérique principal pour afficher le fichier journal de ce composant en temps réel. Remplacez /greengrass/v2 C:\greengrass\v2 par le chemin d'accès au dossier AWS IoT Greengrass racine.

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

Journal des modifications

Le tableau suivant décrit les modifications apportées à chaque version du composant.

Version

Modifications

2.5,15

Version mise à jour pour la version 2.12.5 de Greengrass Nucleus.

2.5,14

Version mise à jour pour la version 2.12.0 de Greengrass Nucleus.

2.5,13

Version mise à jour pour la version 2.11.0 de Greengrass Nucleus.

2.5,12

Version mise à jour pour la version 2.10.0 de Greengrass Nucleus.

2.5.11

Version mise à jour pour la version 2.9.0 de Greengrass Nucleus.

2.5.10

Version mise à jour pour la version 2.8.0 de Greengrass Nucleus.

2.5.9

Version mise à jour pour la version 2.7.0 de Greengrass Nucleus.

2.5.8

Version mise à jour pour la version 2.6.0 de Greengrass Nucleus.

2.5.7

Corrections de bugs et améliorations
  • Met à jour le script UseInstaller d'installation pour installer LibGL, qui n'est pas disponible par défaut sur certaines plateformes Linux.

  • Met à jour le script d'UseInstallerinstallation pour toujours utiliser Python 3.9 dans l'environnement virtuel de ce composant. Cette modification permet de garantir la compatibilité avec les autres bibliothèques.

2.5.6

Corrections de bugs et améliorations
  • Met à jour ce composant pour installer le dernier correctif de TensorFlow Lite 2.5.0 (tflite-runtime-2.5.0.post1), afin que vous puissiez utiliser ce composant avec Python 3.9. Si ce composant ne parvient pas à installer ce correctif, il s'installe à la tflite-runtime-2.5.0 place.

  • Met à jour ce composant pour réinstaller les installations existantes de TensorFlow Lite et ses dépendances. Cette modification permet de garantir que le périphérique principal exécute des versions compatibles de TensorFlow Lite et de ses dépendances.

2.5.5

Nouvelles fonctionnalités
  • Ajoute le support pour les appareils principaux qui exécutent Windows.

  • Ajoute le nouveau paramètre WindowsMLRootPath de configuration que vous pouvez utiliser pour configurer le dossier des résultats d'inférence sur les appareils principaux de Windows.

2.5.4

Nouvelles fonctionnalités
  • Ajoute le nouveau paramètre UseInstaller de configuration qui permet de désactiver le script d'installation dans ce composant.

2.5.3

Version mise à jour pour la version 2.4.0 de Greengrass Nucleus.

2.5.2

Version mise à jour pour la version 2.3.0 de Greengrass Nucleus.

2.5.1

Version mise à jour pour la version 2.2.0 de Greengrass Nucleus.

2.5.0

Première version.