

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 Durée d'exécution allégée
<a name="tensorflow-lite-component"></a>

Le composant d'exécution TensorFlow Lite (`variant.TensorFlowLite`) contient un script qui installe la [ version 2.5.0 de ](https://www.tensorflow.org/lite/guide/python) TensorFlow Lite et ses dépendances dans un environnement virtuel sur votre appareil. Le [ composant [ TensorFlow Lite de classification d'images ](tensorflow-lite-image-classification-component.md) et de détection d'objets ](tensorflow-lite-object-detection-component.md) TensorFlow 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 de 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é](ml-customization.md).

**Topics**
+ [Versions](#tensorflow-lite-component-versions)
+ [Type](#tensorflow-lite-component-type)
+ [Système d’exploitation](#tensorflow-lite-component-os-support)
+ [Exigences](#tensorflow-lite-component-requirements)
+ [Dépendances](#tensorflow-lite-component-dependencies)
+ [Configuration](#tensorflow-lite-component-configuration)
+ [Usage](#tensorflow-lite-component-usage)
+ [Fichier journal local](#tensorflow-lite-component-log-file)
+ [Journal des modifications](#tensorflow-lite-component-changelog)

## Versions
<a name="tensorflow-lite-component-versions"></a>

Les versions de ce composant sont les suivantes :
+ 2.5.x

## Type
<a name="tensorflow-lite-component-type"></a>

<a name="public-component-type-generic"></a>Ce <a name="public-component-type-generic-phrase"></a> composant est un composant générique (`aws.greengrass.generic`). Le noyau [ Greengrass ](greengrass-nucleus-component.md) exécute les scripts de cycle de vie du composant. 

<a name="public-component-type-more-information"></a>Pour de plus amples informations, veuillez consulter [Types de composant](develop-greengrass-components.md#component-types).

## Système d’exploitation
<a name="tensorflow-lite-component-os-support"></a>

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

## Exigences
<a name="tensorflow-lite-component-requirements"></a>

Ce composant répond aux exigences suivantes :<a name="ml-component-requirements"></a>
+ 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 ](https://www.gnu.org/software/libc/) (glibc) est installée sur l'appareil.
+ Sur les appareils ARMv7L, tels que le Raspberry Pi, les dépendances sont OpenCV-Python 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 Raspberry Pi OS Bullseye doivent répondre aux exigences suivantes :
  + NumPy 1.22.4 ou version ultérieure installée sur l'appareil. Le 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. Le 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 l'ancienne pile de caméras.<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**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
       ```

    1. Sélectionnez Options ** d'interface**.

    1. Sélectionnez Caméra ** héritée ** pour activer la pile de caméras héritée.

    1. Redémarrez l'appareil Raspberry Pi.

### Points de terminaison et ports
<a name="tensorflow-lite-component-endpoints"></a>

Par défaut, ce composant utilise un script d'installation pour installer les packages à l'aide des `pip` commandes `apt` `yum``brew`,, et, en fonction de la plate-forme utilisée par le périphérique principal. Ce composant doit être capable d'effectuer 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 via 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.

Lorsque vous identifiez les points de terminaison requis pour le script d'installation de ce composant, tenez compte des points suivants :
+ Les terminaux 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` ou`brew`. 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 depuis différents référentiels.
+ Les points de terminaison peuvent différer entre plusieurs appareils utilisant le même index de package, 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 packages 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 packages.

Pour plus d'informations sur les dépendances installées par ce composant et sur la manière de désactiver le script d'installation, consultez le paramètre [ UseInstaller ](#tensorflow-lite-component-config-useinstaller-term) de configuration.

Pour plus d'informations sur les terminaux et les ports requis pour le fonctionnement de base, consultez[Autoriser le trafic des appareils via un proxy ou un pare-feu](allow-device-traffic.md).

## Dépendances
<a name="tensorflow-lite-component-dependencies"></a>

Lorsque vous déployez un composant, déploie AWS IoT Greengrass également des versions compatibles de ses dépendances. Cela signifie que vous devez répondre aux exigences relatives au composant et à toutes ses dépendances pour pouvoir le déployer avec succès. Cette section répertorie les dépendances pour les versions [ publiées ](#tensorflow-lite-component-changelog) 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 pour chaque version du composant dans la [AWS IoT Greengrass console](https://console.aws.amazon.com/greengrass). Sur la page des détails des composants, 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 Greengrass ](greengrass-nucleus-component.md) | > = 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 Greengrass ](greengrass-nucleus-component.md) | > = 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 Greengrass ](greengrass-nucleus-component.md) | > = 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 Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 2,10,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 Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 2,9,0 | Flexible | 

------
#### [ 2.5.9 ]

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


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | > = 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 Greengrass ](greengrass-nucleus-component.md) | > = 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 Greengrass ](greengrass-nucleus-component.md) | > = 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 Greengrass ](greengrass-nucleus-component.md) | > = 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 Greengrass ](greengrass-nucleus-component.md) | > = 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 Greengrass ](greengrass-nucleus-component.md) | > = 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 Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 2,2,0 | Flexible | 

------

Pour plus d'informations sur les dépendances des composants, consultez la référence des recettes des [ composants](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuration
<a name="tensorflow-lite-component-configuration"></a>

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

`MLRootPath`  
<a name="ml-config-mlrootpath-desc"></a>(Facultatif) Le chemin du dossier sur les périphériques principaux Linux dans lequel les composants d'inférence lisent les images et écrivent les résultats d'inférence. Vous pouvez modifier cette valeur en fonction de n'importe quel emplacement de votre appareil auquel l'utilisateur exécutant ce composant a read/write accès.  
<a name="ml-config-mlrootpath-default-tfl"></a>Valeur par défaut : `{{/greengrass/v2}}/work/variant.TensorFlowLite/greengrass_ml`

`WindowsMLRootPath`  
Cette fonctionnalité est disponible dans les versions 1.6.6 et ultérieures de ce composant.  
<a name="ml-config-windowsmlrootpath-desc"></a>(Facultatif) Le chemin du dossier sur le périphérique principal de Windows dans lequel les composants d'inférence lisent les images et écrivent les résultats d'inférence. Vous pouvez modifier cette valeur en fonction de n'importe quel emplacement de votre appareil auquel l'utilisateur exécutant ce composant a read/write accès.  
<a name="ml-config-windowsmlrootpath-default-dlr"></a>Valeur par défaut : `{{C:\greengrass\v2}}\\work\\variant.DLR\\greengrass_ml`

  `UseInstaller`   
<a name="ml-config-useinstaller-desc-tfl"></a>(Facultatif) Valeur de chaîne qui définit s'il faut utiliser le script d'installation de ce composant pour installer TensorFlow Lite et ses dépendances. Les valeurs prises en charge sont `true` et `false`.   <a name="ml-config-useinstaller-libraries-tfl"></a>

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 toutes les dépendances, et mettez-les à la disposition de l'utilisateur du système, par exemple`ggc_user`, qui exécute les composants ML.
+ [Python ](https://www.python.org/downloads/) 3.8 ou version ultérieure, y compris `pip` pour votre version de Python
+ [TensorFlow Lite ](https://www.tensorflow.org/lite/guide/python) v2.5.0
+ [NumPy](https://numpy.org/install/)
+ [OpenCV-Python](https://pypi.org/project/opencv-python/)
+ [Kit SDK des appareils AWS IoT v2 pour Python ](https://github.com/aws/aws-iot-device-sdk-python-v2)
+ [AWS Exécution commune (CRT) Python ](https://github.com/awslabs/aws-crt-python)
+ [Picamera ](https://picamera.readthedocs.io/en/release-1.13/) (pour les appareils Raspberry Pi)
+ [`awscam`module ](https://docs.aws.amazon.com/deeplens/latest/dg/deeplens-library-awscam-module.html) (pour AWS DeepLens appareils)
+ LibGL (pour les appareils Linux)
<a name="ml-config-useinstaller-default"></a>Valeur par défaut : `true`

## Usage
<a name="tensorflow-lite-component-usage"></a>

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 et NumPy les bibliothèques requises pour TensorFlow Lite. 

**Note**  <a name="ml-installer-component-usage-note"></a>
Le script d'installation de ce composant installe également les dernières versions des bibliothèques système supplémentaires nécessaires à la configuration de l'environnement virtuel de votre appareil et à l'utilisation de la structure d'apprentissage automatique installée. Cela pourrait 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 | Aucune | 
| Ubuntu | wget | Aucune | 

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ées sur votre appareil. Si ce n'est pas le cas, le composant d'exécution les installe pour vous. 

## Fichier journal local
<a name="tensorflow-lite-component-log-file"></a>

Ce composant utilise le fichier journal suivant.

------
#### [ Linux ]

```
{{/greengrass/v2}}/logs/variant.TensorFlowLite.log
```

------
#### [ Windows ]

```
{{C:\greengrass\v2}}\logs\variant.TensorFlowLite.log
```

------

**Pour afficher 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}}` ou {{C:\\greengrass\\v2}} par le chemin du 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
<a name="tensorflow-lite-component-changelog"></a>

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**<br />   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'`UseInstaller`installation 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**<br />   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 le correctif, il l'installe à sa `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**<br />   Ajoute la prise en charge des 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 Windows Core.     | 
| 2,5.4 |  **Nouvelles fonctionnalités**<br />   Ajoute le nouveau paramètre `UseInstaller` de configuration qui vous 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. | 