

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.

# Classification des images DLR
<a name="dlr-image-classification-component"></a>

Le composant de classification d'images DLR (`aws.greengrass.DLRImageClassification`) contient un exemple de code d'inférence permettant d'effectuer une inférence de classification d'images à l'aide des modèles [Deep Learning Runtime](https://github.com/neo-ai/neo-ai-dlr) et Resnet-50. Ce composant utilise la variante [magasin de modèles de classification d'images DLR](dlr-image-classification-model-store-component.md) et les [Temps d'exécution du DLR](dlr-component.md) composants comme dépendances pour télécharger le DLR et les exemples de modèles. 

Pour utiliser ce composant d'inférence avec un modèle DLR entraîné sur mesure, [créez une version personnalisée](ml-customization.md#override-public-model-store) du composant Model Store dépendant. Pour utiliser votre propre code d'inférence personnalisé, vous pouvez utiliser 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](#dlr-image-classification-component-versions)
+ [Type](#dlr-image-classification-component-type)
+ [Système d’exploitation](#dlr-image-classification-component-os-support)
+ [Prérequis](#dlr-image-classification-component-requirements)
+ [Dépendances](#dlr-image-classification-component-dependencies)
+ [Configuration](#dlr-image-classification-component-configuration)
+ [Fichier journal local](#dlr-image-classification-component-log-file)
+ [Journal des modifications](#dlr-image-classification-component-changelog)

## Versions
<a name="dlr-image-classification-component-versions"></a>

Les versions de ce composant sont les suivantes :
+ 2,1x
+ 2,0.x

## Type
<a name="dlr-image-classification-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 composants](develop-greengrass-components.md#component-types).

## Système d’exploitation
<a name="dlr-image-classification-component-os-support"></a>

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

## Prérequis
<a name="dlr-image-classification-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 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 activée par défaut et non compatible. Vous devez donc activer la pile de caméras existante.<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 **Legacy camera** pour activer l'ancienne pile de caméras.

    1. Redémarrez l'appareil Raspberry Pi.

## Dépendances
<a name="dlr-image-classification-component-dependencies"></a>

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](#dlr-image-classification-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 de chaque version du composant dans la [AWS IoT Greengrass console](https://console.aws.amazon.com//greengrass). Sur la page de détails du composant, recherchez la liste des **dépendances**.

------
#### [ 2.1.13 and 2.1.14 ]

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


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau de Greengrass](greengrass-nucleus-component.md) | >=2,0,0 <2,13,0 | Flexible | 
| [magasin de modèles de classification d'images DLR](dlr-image-classification-model-store-component.md) | \$12,10 | Stricte | 
| [DLR](dlr-component.md) | \$11,6,0 | Stricte | 

------
#### [ 2.1.12 ]

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


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau de Greengrass](greengrass-nucleus-component.md) | >=2,0.0 <2,12.0 | Flexible | 
| [magasin de modèles de classification d'images DLR](dlr-image-classification-model-store-component.md) | \$12,10 | Stricte | 
| [DLR](dlr-component.md) | \$11,6,0 | Stricte | 

------
#### [ 2.1.11 ]

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


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau de Greengrass](greengrass-nucleus-component.md) | >=2,0.0 <2,11.0 | Flexible | 
| [magasin de modèles de classification d'images DLR](dlr-image-classification-model-store-component.md) | \$12,10 | Stricte | 
| [DLR](dlr-component.md) | \$11,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 de Greengrass](greengrass-nucleus-component.md) | >=2,0,0 <2,1,0 | Flexible | 
| [magasin de modèles de classification d'images DLR](dlr-image-classification-model-store-component.md) | \$12,10 | Stricte | 
| [DLR](dlr-component.md) | \$11,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 de Greengrass](greengrass-nucleus-component.md) | >=2,0.0 <2,9.0 | Flexible | 
| [magasin de modèles de classification d'images DLR](dlr-image-classification-model-store-component.md) | \$12,10 | Stricte | 
| [DLR](dlr-component.md) | \$11,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 de Greengrass](greengrass-nucleus-component.md) | >=2,0.0 <2,8.0 | Flexible | 
| [magasin de modèles de classification d'images DLR](dlr-image-classification-model-store-component.md) | \$12,10 | Stricte | 
| [DLR](dlr-component.md) | \$11,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 de Greengrass](greengrass-nucleus-component.md) | >=2,0.0 <2,7.0 | Flexible | 
| [magasin de modèles de classification d'images DLR](dlr-image-classification-model-store-component.md) | \$12,10 | Stricte | 
| [DLR](dlr-component.md) | \$11,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 de Greengrass](greengrass-nucleus-component.md) | >=2,0.0 <2,6.0 | Flexible | 
| [magasin de modèles de classification d'images DLR](dlr-image-classification-model-store-component.md) | \$12,10 | Stricte | 
| [DLR](dlr-component.md) | \$11,6,0 | Stricte | 

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

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


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau de Greengrass](greengrass-nucleus-component.md) | >=2,0.0 <2,5.0 | Flexible | 
| [magasin de modèles de classification d'images DLR](dlr-image-classification-model-store-component.md) | \$12,10 | Stricte | 
| [DLR](dlr-component.md) | \$11,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 de Greengrass](greengrass-nucleus-component.md) | >=2,0.0 <2,4.0 | Flexible | 
| [magasin de modèles de classification d'images DLR](dlr-image-classification-model-store-component.md) | \$12,10 | Stricte | 
| [DLR](dlr-component.md) | \$11,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 de Greengrass](greengrass-nucleus-component.md) | >=2,0.0 <2,3.0 | Flexible | 
| [magasin de modèles de classification d'images DLR](dlr-image-classification-model-store-component.md) | \$12,10 | Stricte | 
| [DLR](dlr-component.md) | \$11,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 de Greengrass](greengrass-nucleus-component.md) | >=2,0.0 <2,2.0 | Flexible | 
| [magasin de modèles de classification d'images DLR](dlr-image-classification-model-store-component.md) | \$12,10 | Stricte | 
| [DLR](dlr-component.md) | \$11,6,0 | Stricte | 

------
#### [ 2.0.x ]

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


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau de Greengrass](greengrass-nucleus-component.md) | \$12,0.0 | Flexible | 
| magasin de modèles de classification d'images DLR | \$12,0.0 | Stricte | 
| DLR | \$11,3,0 | Flexible | 

------

## Configuration
<a name="dlr-image-classification-component-configuration"></a>

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

------
#### [ 2.1.x ]

`accessControl`  
<a name="ml-config-accesscontrol-desc"></a>(Facultatif) Objet contenant 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.   
Par défaut :   

```
{
   "aws.greengrass.ipc.mqttproxy": {
      "aws.greengrass.DLRImageClassification:mqttproxy:1": {
         "policyDescription": "Allows access to publish via topic ml/dlr/image-classification.",
         "operations": [
            "aws.greengrass#PublishToIoTCore"
         ],
         "resources": [
            "ml/dlr/image-classification"
         ]
      }
   }
}
```

`PublishResultsOnTopic`  
<a name="ml-config-publishresultsontopic-desc"></a>(Facultatif) Rubrique sur laquelle vous souhaitez publier les résultats de l'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.  
Par défaut : `ml/dlr/image-classification`

`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 modèles d'exemple du composant du 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.  
Par défaut : `cpu`

`ImageDirectory`  
<a name="ml-config-imagedirectory-desc"></a>(Facultatif) Le chemin du dossier sur le périphérique où 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-img-default"></a>Par défaut : `/greengrass/v2/packages/artifacts-unarchived/component-name/image_classification/sample_images/`  
Si vous définissez la valeur de `UseCamera` to`true`, ce paramètre de configuration est ignoré. 

`ImageName`  
<a name="ml-config-imagename-desc"></a>(Facultatif) 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'image d'exemple 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-img-default"></a>Par défaut : `cat.jpeg`  
Si vous définissez la valeur de `UseCamera` to`true`, ce paramètre de configuration est ignoré. 

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(Facultatif) Le délai en secondes entre chaque prédiction effectuée 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 réduire cet intervalle si vous souhaitez utiliser des images prises par une caméra pour des prévisions en temps réel.  
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é.   
Par défaut :  

```
{
    "armv7l": "DLR-resnet50-armv7l-cpu-ImageClassification",
    "aarch64": "DLR-resnet50-aarch64-cpu-ImageClassification",
    "x86_64": "DLR-resnet50-x86_64-cpu-ImageClassification",
    "windows": "DLR-resnet50-win-cpu-ImageClassification"
}
```

`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 de 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 exécutant ce composant a read/write accès à l'emplacement où l'appareil photo stocke les images capturées.  
Par défaut : `false`  
Lorsque vous consultez la recette de ce composant, le paramètre `UseCamera` de configuration n'apparaît pas dans la configuration par défaut. Toutefois, vous pouvez modifier la valeur de ce paramètre dans 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 composants d'inférence d'échantillons, consultez[Mettre à jour les configurations des composants](ml-tutorial-image-classification-camera.md).

------
#### [ 2.0.x ]

`MLRootPath`  <a name="ml-config-mlrootpath"></a>
<a name="ml-config-mlrootpath-desc"></a>(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 a read/write accès.  
<a name="ml-config-mlrootpath-default-dlr"></a>Par défaut : `/greengrass/v2/work/variant.DLR/greengrass_ml`  
<a name="ml-config-mlrootpath-default-tfl"></a>Par défaut : `/greengrass/v2/work/variant.TensorFlowLite/greengrass_ml`

`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 modèles d'exemple du composant du 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.  
Par défaut : `cpu`

`ImageName`  
<a name="ml-config-imagename-desc-dlr-1.3.0"></a>(Facultatif) 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`. L'emplacement par défaut est`MLRootPath/images`. AWS IoT Greengrass prend en charge les formats d'image suivants : `jpeg``jpg`,`png`, et`npy`.   
<a name="ml-config-imagename-img-default"></a>Par défaut : `cat.jpeg`

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(Facultatif) Le délai en secondes entre chaque prédiction effectuée 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 réduire cet intervalle si vous souhaitez utiliser des images prises par une caméra pour des prévisions en temps réel.  
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é.   
Par défaut :  

```
armv7l: "DLR-resnet50-armv7l-cpu-ImageClassification"
x86_64: "DLR-resnet50-x86_64-cpu-ImageClassification"
```

------

## Fichier journal local
<a name="dlr-image-classification-component-log-file"></a>

Ce composant utilise le fichier journal suivant.

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

```
/greengrass/v2/logs/aws.greengrass.DLRImageClassification.log
```

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

```
C:\greengrass\v2\logs\aws.greengrass.DLRImageClassification.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` ou *C:\$1greengrass\$1v2* par le chemin d'accès au dossier AWS IoT Greengrass racine.

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

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.DLRImageClassification.log
  ```

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

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

------

## Journal des modifications
<a name="dlr-image-classification-component-changelog"></a>

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


|  **Version**  |  **Modifications**  | 
| --- | --- | 
|  2.1.14  | Version mise à jour pour la version 2.12.5 de Greengrass Nucleus. | 
|  2.1.13  | Version mise à jour pour la version 2.12.0 de Greengrass Nucleus. | 
|  2.1.12  | Version mise à jour pour la version 2.11.0 de Greengrass Nucleus. | 
|  2.1.11  | Version mise à jour pour la version 2.10.0 de Greengrass Nucleus. | 
|  2.1.10  | Version mise à jour pour la version 2.9.0 de Greengrass Nucleus. | 
|  2.1.9  | Version mise à jour pour la version 2.8.0 de Greengrass Nucleus. | 
|  2.1.8  |  Version mise à jour pour la version 2.7.0 de Greengrass Nucleus.  | 
|  2.1.7  |  Version mise à jour pour la version 2.6.0 de Greengrass Nucleus.  | 
|  2.1.6  |  Version mise à jour pour la version 2.5.0 de Greengrass Nucleus.  | 
|  2.1.5  |  Le composant a été publié dans son intégralité Régions AWS.  | 
|  2.1.4  |  Version mise à jour pour la version 2.4.0 de Greengrass Nucleus. Cette version n'est pas disponible en Europe (Londres) (`eu-west-2`).  | 
|  2.1.3  |  Version mise à jour pour la version 2.3.0 de Greengrass Nucleus.  | 
|  2.1.2  |  Version mise à jour pour la version 2.2.0 de Greengrass Nucleus.  | 
|  2.1.1  |  <a name="changelog-dlr-image-classification-2.1.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/dlr-image-classification-component.html)  | 
|  2.0.4  |  Première version.  | 