

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 Détection d'objets Lite
<a name="tensorflow-lite-object-detection-component"></a>

Le composant de détection d'objets TensorFlow Lite (`aws.greengrass.TensorFlowLiteObjectDetection`) contient un exemple de code d'inférence pour effectuer une inférence de détection d'objets à l'aide de [ TensorFlow Lite ](https://www.tensorflow.org/lite/guide/python) et d'un modèle Single Shot Detection (SSD) MobileNet 1.0 pré-entraîné. Ce composant utilise la variante [TensorFlow Boutique de modèles de détection d'objets Lite](tensorflow-lite-object-detection-model-store-component.md) et les [TensorFlow Durée d'exécution allégée](tensorflow-lite-component.md) composants comme dépendances pour télécharger TensorFlow Lite et l'exemple de modèle. 

Pour utiliser ce composant d'inférence avec un modèle TensorFlow Lite personnalisé, vous pouvez [ créer une version personnalisée du composant ](ml-customization.md#override-public-model-store) de modélisme dépendant. Pour utiliser votre propre code d'inférence personnalisé, utilisez la recette de ce composant comme modèle pour [ créer un composant d'inférence personnalisé. ](ml-customization.md#create-inference-component)

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

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

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

## Type
<a name="tensorflow-lite-object-detection-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-object-detection-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-object-detection-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.

## Dépendances
<a name="tensorflow-lite-object-detection-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-object-detection-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.1.11 and 2.1.12 ]

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


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 2,13,0 | Flexible | 
| [TensorFlow Boutique de modèles de classification d'images Lite ](tensorflow-lite-image-classification-model-store-component.md) | > = 2,1,0 < 2,2,0 | Stricte | 
| [TensorFlow Léger ](tensorflow-lite-component.md) | > = 2,5,0 < 2,6,0 | Stricte | 

------
#### [ 2.1.10 ]

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


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 2,12,0 | Flexible | 
| [TensorFlow Boutique de modèles de classification d'images Lite ](tensorflow-lite-image-classification-model-store-component.md) | > = 2,1,0 < 2,2,0 | Stricte | 
| [TensorFlow Léger ](tensorflow-lite-component.md) | > = 2,5,0 < 2,6,0 | Stricte | 

------
#### [ 2.1.9 ]

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


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 2,11,0 | Flexible | 
| [TensorFlow Boutique de modèles de classification d'images Lite ](tensorflow-lite-image-classification-model-store-component.md) | > = 2,1,0 < 2,2,0 | Stricte | 
| [TensorFlow Léger ](tensorflow-lite-component.md) | > = 2,5,0 < 2,6,0 | Stricte | 

------
#### [ 2.1.8 ]

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


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 2,10,0 | Flexible | 
| [TensorFlow Boutique de modèles de classification d'images Lite ](tensorflow-lite-image-classification-model-store-component.md) | > = 2,1,0 < 2,2,0 | Stricte | 
| [TensorFlow Léger ](tensorflow-lite-component.md) | > = 2,5,0 < 2,6,0 | Stricte | 

------
#### [ 2.1.7 ]

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


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 2,9,0 | Flexible | 
| [TensorFlow Boutique de modèles de classification d'images Lite ](tensorflow-lite-image-classification-model-store-component.md) | > = 2,1,0 < 2,2,0 | Stricte | 
| [TensorFlow Léger ](tensorflow-lite-component.md) | > = 2,5,0 < 2,6,0 | Stricte | 

------
#### [ 2.1.6 ]

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


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 2,8,0 | Flexible | 
| [TensorFlow Boutique de modèles de classification d'images Lite ](tensorflow-lite-image-classification-model-store-component.md) | > = 2,1,0 < 2,2,0 | Stricte | 
| [TensorFlow Léger ](tensorflow-lite-component.md) | > = 2,5,0 < 2,6,0 | Stricte | 

------
#### [ 2.1.5 ]

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


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 2,7,0 | Flexible | 
| [TensorFlow Boutique de modèles de classification d'images Lite ](tensorflow-lite-image-classification-model-store-component.md) | > = 2,1,0 < 2,2,0 | Stricte | 
| [TensorFlow Léger ](tensorflow-lite-component.md) | > = 2,5,0 < 2,6,0 | Stricte | 

------
#### [ 2.1.4 ]

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


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 2,6,0 | Flexible | 
| [TensorFlow Boutique de modèles de classification d'images Lite ](tensorflow-lite-image-classification-model-store-component.md) | > = 2,1,0 < 2,2,0 | Stricte | 
| [TensorFlow Léger ](tensorflow-lite-component.md) | > = 2,5,0 < 2,6,0 | Stricte | 

------
#### [ 2.1.3 ]

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


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 2,5,0 | Flexible | 
| [TensorFlow Boutique de modèles de classification d'images Lite ](tensorflow-lite-image-classification-model-store-component.md) | > = 2,1,0 < 2,2,0 | Stricte | 
| [TensorFlow Léger ](tensorflow-lite-component.md) | > = 2,5,0 < 2,6,0 | Stricte | 

------
#### [ 2.1.2 ]

Le tableau suivant répertorie les dépendances pour la version 2.1.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 | 
| [TensorFlow Boutique de modèles de classification d'images Lite ](tensorflow-lite-image-classification-model-store-component.md) | > = 2,1,0 < 2,2,0 | Stricte | 
| [TensorFlow Léger ](tensorflow-lite-component.md) | > = 2,5,0 < 2,6,0 | Stricte | 

------
#### [ 2.1.1 ]

Le tableau suivant répertorie les dépendances pour la version 2.1.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 | 
| [TensorFlow Boutique de modèles de classification d'images Lite ](tensorflow-lite-image-classification-model-store-component.md) | > = 2,1,0 < 2,2,0 | Stricte | 
| [TensorFlow Léger ](tensorflow-lite-component.md) | > = 2,5,0 < 2,6,0 | Stricte | 

------
#### [ 2.1.0 ]

Le tableau suivant répertorie les dépendances pour la version 2.1.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 | 
| [TensorFlow Boutique de modèles de classification d'images Lite ](tensorflow-lite-image-classification-model-store-component.md) | > = 2,1,0 < 2,2,0 | Stricte | 
| [TensorFlow Léger ](tensorflow-lite-component.md) | > = 2,5,0 < 2,6,0 | Stricte | 

------

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

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

`accessControl`  
<a name="ml-config-accesscontrol-desc"></a>(Facultatif) L'objet qui contient la politique [ d'autorisation ](interprocess-communication.md#ipc-authorization-policies) qui permet au composant de publier des messages dans la rubrique de notifications par défaut.   
Valeur par défaut :   

```
{
   "aws.greengrass.ipc.mqttproxy": {
      "aws.greengrass.TensorFlowLiteObjectDetection:mqttproxy:1": {
         "policyDescription": "Allows access to publish via topic ml/tflite/object-detection.",
         "operations": [
            "aws.greengrass#PublishToIoTCore"
         ],
         "resources": [
            "ml/tflite/object-detection"
         ]
      }
   }
}
```

`PublishResultsOnTopic`  
<a name="ml-config-publishresultsontopic-desc"></a>(Facultatif) Rubrique sur laquelle vous souhaitez publier les résultats d'inférence. Si vous modifiez cette valeur, vous devez également modifier la valeur de `resources` dans le `accessControl` paramètre pour qu'elle corresponde au nom de votre rubrique personnalisée.  
Valeur par défaut : `ml/tflite/object-detection`

`Accelerator`  <a name="ml-config-accelerator"></a>
L'accélérateur que vous souhaitez utiliser. Les valeurs prises en charge sont `cpu` et `gpu`.  
Les exemples de modèles du composant de modèle dépendant ne prennent en charge que l'accélération du processeur. Pour utiliser l'accélération GPU avec un autre modèle personnalisé, [ créez un composant de modèle personnalisé ](ml-customization.md#override-public-model-store) pour remplacer le composant de modèle public.  
Valeur par défaut : `cpu`

`ImageDirectory`  
<a name="ml-config-imagedirectory-desc"></a>(Facultatif) Le chemin du dossier sur le périphérique dans lequel les composants d'inférence lisent les images. Vous pouvez modifier cette valeur en fonction de n'importe quel emplacement de votre appareil auquel vous avez read/write accès.  
<a name="ml-config-imagedirectory-obj-default"></a>Valeur par défaut : `{{/greengrass/v2}}/packages/artifacts-unarchived/{{component-name}}/object_detection/sample_images/`  
Si vous définissez la valeur `UseCamera` sur`true`, ce paramètre de configuration est ignoré. 

`ImageName`  
<a name="ml-config-imagename-desc"></a>(Facultatif) Le nom de l'image que le composant d'inférence utilise comme entrée pour effectuer une prédiction. Le composant recherche l'image dans le dossier spécifié dans`ImageDirectory`. Par défaut, le composant utilise l'exemple d'image dans le répertoire d'images par défaut. AWS IoT Greengrass prend en charge les formats d'image suivants : `jpeg``jpg`,`png`, et`npy`.   
<a name="ml-config-imagename-obj-default"></a>Valeur par défaut : `objects.jpg`  
Si vous définissez la valeur `UseCamera` sur`true`, ce paramètre de configuration est ignoré. 

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(Facultatif) Le temps en secondes entre chaque prédiction faite par le code d'inférence. L'exemple de code d'inférence s'exécute indéfiniment et répète ses prédictions à l'intervalle de temps spécifié. Par exemple, vous pouvez le modifier pour un intervalle plus court si vous souhaitez utiliser des images prises par une caméra pour des prévisions en temps réel.  
Valeur par défaut : `3600`

`ModelResourceKey`  <a name="ml-config-modelresourcekey"></a>
<a name="ml-config-modelresourcekey-desc"></a>(Facultatif) Les modèles utilisés dans le composant de modèle public dépendant. Modifiez ce paramètre uniquement si vous remplacez le composant du modèle public par un composant personnalisé.   
Valeur par défaut :  

```
{
    "model": "TensorFlowLite-SSD"
}
```

`UseCamera`  <a name="ml-config-usecamera"></a>
(Facultatif) Valeur de chaîne qui définit s'il faut utiliser les images d'une caméra connectée au périphérique principal Greengrass. Les valeurs prises en charge sont `true` et `false`.  
Lorsque vous définissez cette valeur sur`true`, l'exemple de code d'inférence accède à la caméra de votre appareil et exécute l'inférence localement sur l'image capturée. Les valeurs des `ImageDirectory` paramètres `ImageName` et sont ignorées. Assurez-vous que l'utilisateur qui exécute ce composant a read/write accès à l'emplacement où l'appareil photo stocke les images capturées.  
Valeur par défaut : `false`  
Lorsque vous visualisez la recette de ce composant, le paramètre `UseCamera` de configuration n'apparaît pas dans la configuration par défaut. Vous pouvez toutefois modifier la valeur de ce paramètre lors d'une mise à jour [ de fusion de configuration ](update-component-configurations.md) lorsque vous déployez le composant.   
Lorsque vous définissez sur `UseCamera``true`, vous devez également créer un lien symbolique pour permettre au composant d'inférence d'accéder à votre caméra depuis l'environnement virtuel créé par le composant d'exécution. Pour plus d'informations sur l'utilisation d'une caméra avec les exemples de composants d'inférence, consultez[Mettre à jour les configurations des composants](ml-tutorial-image-classification-camera.md).

**Note**  <a name="ml-config-not-visible-note"></a>
Lorsque vous visualisez la recette de ce composant, le paramètre `UseCamera` de configuration n'apparaît pas dans la configuration par défaut. Vous pouvez toutefois modifier la valeur de ce paramètre lors d'une mise à jour [ de fusion de configuration ](update-component-configurations.md) lorsque vous déployez le composant.   
Lorsque vous définissez sur `UseCamera``true`, vous devez également créer un lien symbolique pour permettre au composant d'inférence d'accéder à votre caméra depuis l'environnement virtuel créé par le composant d'exécution. Pour plus d'informations sur l'utilisation d'une caméra avec les exemples de composants d'inférence, consultez[Mettre à jour les configurations des composants](ml-tutorial-image-classification-camera.md).

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

Ce composant utilise le fichier journal suivant.

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

```
{{/greengrass/v2}}/logs/aws.greengrass.TensorFlowLiteObjectDetection.log
```

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

```
{{C:\greengrass\v2}}\logs\aws.greengrass.TensorFlowLiteObjectDetection.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/aws.greengrass.TensorFlowLiteObjectDetection.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content {{C:\greengrass\v2}}\logs\aws.greengrass.TensorFlowLiteObjectDetection.log -Tail 10 -Wait
  ```

------

## Journal des modifications
<a name="tensorflow-lite-object-detection-component-changelog"></a>

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


|  Version  |  Modifications  | 
| --- | --- | 
| 2.1.12 | Version mise à jour pour la version 2.12.5 de Greengrass Nucleus. | 
| 2.1.11 | Version mise à jour pour la version 2.12.0 de Greengrass Nucleus. | 
| 2.1.10 | Version mise à jour pour la version 2.11.0 de Greengrass Nucleus. | 
| 2.1.9 | Version mise à jour pour la version 2.10.0 de Greengrass Nucleus. | 
| 2.1.8 | Version mise à jour pour la version 2.9.0 de Greengrass Nucleus. | 
| 2.1.7 | Version mise à jour pour la version 2.8.0 de Greengrass Nucleus. | 
| 2.1.6 | Version mise à jour pour la version 2.7.0 de Greengrass Nucleus. | 
| 2.1.5 | Version mise à jour pour la version 2.6.0 de Greengrass Nucleus. | 
| 2.1.4 | Version mise à jour pour la version 2.5.0 de Greengrass Nucleus. | 
| 2.1.3 | Version mise à jour pour la version 2.4.0 de Greengrass Nucleus. | 
| 2.1.2 | Version mise à jour pour la version 2.3.0 de Greengrass Nucleus. | 
| 2.1.1 |  <a name="changelog-tensorflow-lite-object-detection-2.1.1"></a>**Corrections de bugs et améliorations**<br />   Résout un problème de mise à l'échelle de l'image qui entraînait des cadres de délimitation inexacts dans les résultats d'inférence de détection d'objets de l'échantillon TensorFlow Lite.     | 
| 2.1.0 | Première version. | 