

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.

# Temps d'exécution du DLR
<a name="dlr-component"></a>

Le composant d'exécution DLR (`variant.DLR`) contient un script qui installe [Deep Learning Runtime](https://github.com/neo-ai/neo-ai-dlr) (DLR) et ses dépendances dans un environnement virtuel sur votre appareil. Les [Détection d'objets DLR](dlr-object-detection-component.md) composants [Classification des images DLR](dlr-image-classification-component.md) et utilisent ce composant comme dépendance pour l'installation du DLR. La version 1.6.x du composant installe le DLR v1.6.0 et la version 1.3.x du composant installe le DLR v1.3.0. 

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](#dlr-component-versions)
+ [Type](#dlr-component-type)
+ [Système d’exploitation](#dlr-component-os-support)
+ [Prérequis](#dlr-component-requirements)
+ [Dépendances](#dlr-component-dependencies)
+ [Configuration](#dlr-component-configuration)
+ [Utilisation](#dlr-component-usage)
+ [Fichier journal local](#dlr-component-log-file)
+ [Journal des modifications](#dlr-component-changelog)

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

Les versions de ce composant sont les suivantes :
+ 1,6. x
+ 1.3.x

## Type
<a name="dlr-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-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-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 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.<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.

### Points de terminaison et ports
<a name="dlr-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'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` 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 à 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 URLs de package fournit les référentiels dans lesquels vous téléchargez des packages, et le propriétaire d'un package peut modifier ce que fournit URLs 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 [UseInstaller](#dlr-component-config-useinstaller-term)de configuration.

Pour plus d'informations sur les points de terminaison 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="dlr-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-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**.

------
#### [ 1.6.11 - 1.6.16 ]

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


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau de Greengrass](greengrass-nucleus-component.md) | >=2,0.0 <3,0.0 | Flexible | 

------
#### [ 1.6.10 ]

Le tableau suivant répertorie les dépendances pour la version 1.6.10 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 | 

------
#### [ 1.6.9 ]

Le tableau suivant répertorie les dépendances pour la version 1.6.9 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 | 

------
#### [ 1.6.8 ]

Le tableau suivant répertorie les dépendances pour la version 1.6.8 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 | 

------
#### [ 1.6.6 and 1.6.7 ]

Le tableau suivant répertorie les dépendances pour les versions 1.6.6 et 1.6.7 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 | 

------
#### [ 1.6.4 and 1.6.5 ]

Le tableau suivant répertorie les dépendances pour les versions 1.6.4 et 1.6.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 | 

------
#### [ 1.6.3 ]

Le tableau suivant répertorie les dépendances pour la version 1.6.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 | 

------
#### [ 1.6.2 ]

Le tableau suivant répertorie les dépendances pour la version 1.6.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 | 

------
#### [ 1.6.1 ]

Le tableau suivant répertorie les dépendances pour la version 1.6.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 | 

------
#### [ 1.3.x ]

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


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau de Greengrass](greengrass-nucleus-component.md) | \$12,0.0 | Flexible | 

------

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

## Configuration
<a name="dlr-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 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`

`WindowsMLRootPath`  
Cette fonctionnalité est disponible dans la version 1.6.6 et les versions 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 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-windowsmlrootpath-default-dlr"></a>Par défaut : `C:\greengrass\v2\\work\\variant.DLR\\greengrass_ml`

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

Définissez cette valeur sur `false` si vous souhaitez utiliser un script personnalisé pour l'installation du DLR 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 DLR 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.
+ [Python](https://www.python.org/downloads/) 3.7 ou version ultérieure, y compris `pip` pour votre version de Python.
+ [Deep Learning Runtime](https://github.com/neo-ai/neo-ai-dlr) v1.6.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 Python CRT (Common Runtime)](https://github.com/awslabs/aws-crt-python).
+ [Picamera](https://picamera.readthedocs.io/en/release-1.13/) (pour les appareils Raspberry Pi uniquement).
+ [`awscam`module](https://docs.aws.amazon.com/deeplens/latest/dg/deeplens-library-awscam-module.html) (pour les AWS DeepLens appareils).
+ LibGL (pour les appareils Linux)
<a name="ml-config-useinstaller-default"></a>Par défaut : `true`

## Utilisation
<a name="dlr-component-usage"></a>

Utilisez ce composant avec le paramètre `UseInstaller` de configuration défini sur `true` pour installer le DLR 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 le DLR. 

**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 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 | Aucune | 
| Ubuntu | wget | Aucune | 

Lorsque vous déployez votre composant d'inférence, ce composant d'exécution vérifie d'abord si le DLR et ses dépendances sont déjà installés sur votre appareil, puis il les installe pour vous. 

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

Ce composant utilise le fichier journal suivant.

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

```
/greengrass/v2/logs/variant.DLR.log
```

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

```
C:\greengrass\v2\logs\variant.DLR.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/variant.DLR.log
  ```

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

  ```
  Get-Content C:\greengrass\v2\logs\variant.DLR.log -Tail 10 -Wait
  ```

------

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

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


|  **Version**  |  **Modifications**  | 
| --- | --- | 
|  1.6,16  |  Version mise à jour pour Greengrass nucleus version 2.12.5.  | 
|  1.6,12  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/dlr-component.html)  | 
|  1.6.11  | Version mise à jour pour la version 2.9.0 de Greengrass Nucleus. | 
|  1,6.10  | Version mise à jour pour la version 2.8.0 de Greengrass Nucleus. | 
|  1.6.9  |  Version mise à jour pour la version 2.7.0 de Greengrass Nucleus.  | 
|  1.6.8  |  Version mise à jour pour la version 2.6.0 de Greengrass Nucleus.  | 
|  1.6.7  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/dlr-component.html)  | 
|  1.6.6  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/dlr-component.html)  | 
|  1.6.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/dlr-component.html)  | 
|  1.6.4  |  Version mise à jour pour la version 2.4.0 de Greengrass Nucleus.  | 
|  1.6.3  |  Version mise à jour pour la version 2.3.0 de Greengrass Nucleus.  | 
|  1.6.2  |  Version mise à jour pour la version 2.2.0 de Greengrass Nucleus.  | 
|  1.6.1  |  <a name="changelog-dlr-1.6.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/dlr-component.html)  | 
|  1.3.2  |  Première version. Installe le DLR v1.3.0.  | 