

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Runtime do DLR
<a name="dlr-component"></a>

O componente do runtime do DLR (`variant.DLR`) contém um script que instala o [Runtime de aprendizado profundo](https://github.com/neo-ai/neo-ai-dlr) (DLR) e as dependências dele em um ambiente virtual no seu dispositivo. Os componentes [Classificação de imagens do DLR](dlr-image-classification-component.md) e [Detecção de objetos do DLR](dlr-object-detection-component.md) usam esse componente como uma dependência para instalar o DLR. A versão 1.6.x do componente instala o DLR v1.6.0 e a versão 1.3.x do componente instala o DLR v1.3.0. 

Para usar outro runtime, você pode aplicar a fórmula desse componente como modelo para [criar um componente de machine learning personalizado](ml-customization.md). 

**Topics**
+ [Versões](#dlr-component-versions)
+ [Tipo](#dlr-component-type)
+ [Sistema operacional](#dlr-component-os-support)
+ [Requisitos](#dlr-component-requirements)
+ [Dependências](#dlr-component-dependencies)
+ [Configuração](#dlr-component-configuration)
+ [Uso](#dlr-component-usage)
+ [Arquivo de log local](#dlr-component-log-file)
+ [Changelog](#dlr-component-changelog)

## Versões
<a name="dlr-component-versions"></a>

Esse componente tem as seguintes versões:
+ 1.6.x
+ 1.3.x

## Tipo
<a name="dlr-component-type"></a>

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

## Sistema operacional
<a name="dlr-component-os-support"></a>

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Requisitos
<a name="dlr-component-requirements"></a>

Esse componente tem os seguintes requisitos:<a name="ml-component-requirements"></a>
+ Nos dispositivos principais do Greengrass que executam o Amazon Linux 2 ou o Ubuntu 18.04, a [Biblioteca do GNU C](https://www.gnu.org/software/libc/) (glibc) versão 2.27 ou posterior está instalada no dispositivo.
+ Em dispositivos Armv7l, como o Raspberry Pi, as dependências do OpenCV-Python estão instaladas no dispositivo. Execute o seguinte comando para instalar as dependências.

  ```
  sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  ```
+ Os dispositivos Raspberry Pi que executam o Raspberry Pi OS Bullseye devem atender aos seguintes requisitos:
  + NumPy 1.22.4 ou posterior instalado no dispositivo. O Raspberry Pi OS Bullseye inclui uma versão anterior do NumPy, então você pode executar o seguinte comando para atualizar NumPy o dispositivo.

    ```
    pip3 install --upgrade numpy
    ```
  + A pilha de câmeras antiga habilitada no dispositivo. O Raspberry Pi OS Bullseye inclui uma nova pilha de câmeras que está habilitada por padrão e não é compatível, portanto você precisa habilitar a pilha de câmeras antiga.<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**Para habilitar a pilha de câmeras antiga**

    1. Execute o comando abaixo para abrir a ferramenta de configuração do Raspberry Pi.

       ```
       sudo raspi-config
       ```

    1. Selecione **Opções de interface**.

    1. Selecione **Câmera antiga** para habilitar a pilha de câmeras antiga.

    1. Reinicie o Raspberry Pi.

### Endpoints e portas
<a name="dlr-component-endpoints"></a>

Por padrão, esse componente usa um script do instalador para instalar pacotes com os comandos `apt`, `yum`, `brew` e `pip`, dependendo da plataforma do dispositivo principal. Esse componente deve ser capaz de fazer solicitações de saída para vários índices e repositórios de pacotes para executar o script do instalador. Para permitir o tráfego de saída do componente por meio de um proxy ou firewall, é necessário identificar os endpoints dos índices e repositórios de pacotes aos quais o seu dispositivo principal se conecta para a instalação.

Considere o seguinte quando for identificar os endpoints necessários para o script de instalação do componente:
+ Os endpoints dependem da plataforma do dispositivo principal. Por exemplo, um dispositivo principal com Ubuntu usa `apt` em vez de `yum` ou `brew`. Além disso, os dispositivos que usam o mesmo índice de pacotes podem ter listas de fontes diferentes e, portanto, podem recuperar pacotes de repositórios distintos.
+ Os endpoints podem ser diferentes entre os vários dispositivos que usam o mesmo índice de pacotes, já que cada dispositivo tem as próprias listas de fontes que definem onde recuperar os pacotes.
+ Os endpoints podem mudar ao longo do tempo. Cada índice URLs de pacotes fornece os repositórios nos quais você baixa pacotes, e o proprietário de um pacote pode alterar o que URLs o índice de pacotes fornece.

Para obter mais informações sobre as dependências que esse componente instala e como desabilitar o script do instalador, consulte o parâmetro de [UseInstaller](#dlr-component-config-useinstaller-term)configuração.

Para obter mais informações sobre os endpoints e as portas necessários para operação básica, consulte [Permitir o tráfego de dispositivos por meio de um proxy ou firewall](allow-device-traffic.md).

## Dependências
<a name="dlr-component-dependencies"></a>

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das [versões lançadas](#dlr-component-changelog) desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no [console do AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). Na página de detalhes do componente, procure a lista de **dependências**.

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

A tabela a seguir lista as dependências das versões 1.6.11 a 1.6.16 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <3.0.0 | Flexível | 

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

A tabela a seguir lista as dependências da versão 1.6.10 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | Flexível | 

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

A tabela a seguir lista as dependências da versão 1.6.9 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | Flexível | 

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

A tabela a seguir lista as dependências da versão 1.6.8 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | Flexível | 

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

A tabela a seguir lista as dependências das versões 1.6.6 e 1.6.7 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | Flexível | 

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

A tabela a seguir lista as dependências das versões 1.6.4 e 1.6.5 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | Flexível | 

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

A tabela a seguir lista as dependências da versão 1.6.3 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | Flexível | 

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

A tabela a seguir lista as dependências da versão 1.6.2 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | Flexível | 

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

A tabela a seguir lista as dependências da versão 1.6.1 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | Flexível | 

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

A tabela a seguir lista as dependências da versão 1.3.x desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | \$12.0.0 | Flexível | 

------

Para obter mais informações sobre as dependências dos componentes, consulte [referência de fórmula do componente](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuração
<a name="dlr-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

`MLRootPath`  
<a name="ml-config-mlrootpath-desc"></a>(Opcional) O caminho da pasta nos dispositivos principais do Linux em que os componentes de inferência leem as imagens e gravam os resultados da inferência. Você pode modificar esse valor em qualquer local em seu dispositivo ao qual o usuário que está executando esse componente tenha read/write acesso.  
<a name="ml-config-mlrootpath-default-dlr"></a>Padrão: `/greengrass/v2/work/variant.DLR/greengrass_ml`

`WindowsMLRootPath`  
Esse recurso está disponível na versão 1.6.6 e mais recente desse componente.  
<a name="ml-config-windowsmlrootpath-desc"></a>(Opcional) O caminho da pasta nos dispositivos principais do Windows em que os componentes de inferência leem as imagens e gravam os resultados da inferência. Você pode modificar esse valor em qualquer local em seu dispositivo ao qual o usuário que está executando esse componente tenha read/write acesso.  
<a name="ml-config-windowsmlrootpath-default-dlr"></a>Padrão: `C:\greengrass\v2\\work\\variant.DLR\\greengrass_ml`

  `UseInstaller`   
<a name="ml-config-useinstaller-desc-dlr"></a>(Opcional) Valor da string que define se o script do instalador deve ser usado nesse componente para instalar o DLR e as dependências dele. Os valores compatíveis são `true` e `false`.   <a name="ml-config-useinstaller-libraries-dlr"></a>

Defina esse valor como `false` se você quiser usar um script personalizado para a instalação do DLR ou se quiser incluir dependências de runtime em uma imagem Linux pré-criada. Para usar esse componente com os componentes AWS de inferência DLR fornecidos, instale as bibliotecas a seguir, incluindo quaisquer dependências, e disponibilize-as para o usuário do sistema, como, por exemplo`ggc_user`, que executa os componentes de ML.
+ [Python](https://www.python.org/downloads/) 3.7 ou posterior, incluindo o `pip` para sua versão do Python.
+ [Runtime de aprendizado profundo](https://github.com/neo-ai/neo-ai-dlr) v1.6.0.
+ [NumPy](https://numpy.org/install/).
+ [OpenCV-Python](https://pypi.org/project/opencv-python/).
+ [AWS IoT Device SDK v2 para Python](https://github.com/aws/aws-iot-device-sdk-python-v2).
+ [AWS Python de tempo de execução comum (CRT)](https://github.com/awslabs/aws-crt-python).
+ [Picamera](https://picamera.readthedocs.io/en/release-1.13/) (para dispositivos Raspberry Pi).
+ [`awscam`módulo](https://docs.aws.amazon.com/deeplens/latest/dg/deeplens-library-awscam-module.html) (para AWS DeepLens dispositivos).
+ libGL (para dispositivos Linux)
<a name="ml-config-useinstaller-default"></a>Padrão: `true`

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

Use esse componente com o parâmetro de configuração `UseInstaller` definido como `true` para instalar o DLR e as dependências dele em seu dispositivo. O componente configura um ambiente virtual em seu dispositivo que inclui o OpenCV NumPy e as bibliotecas necessárias para o DLR. 

**nota**  <a name="ml-installer-component-usage-note"></a>
O script do instalador nesse componente também instala as versões mais recentes das bibliotecas adicionais do sistema, que são necessárias para configurar o ambiente virtual em seu dispositivo e usar a estrutura de machine learning instalada. Isso pode atualizar as bibliotecas do sistema existentes em seu dispositivo. Consulte a tabela a seguir para ver a lista de bibliotecas que esse componente instala para cada sistema operacional compatível. Se você deseja personalizar esse processo de instalação, defina o parâmetro de configuração `UseInstaller` como `false` e desenvolva o próprio script do instalador.


| Plataforma | Bibliotecas instaladas no sistema do dispositivo | Bibliotecas instaladas no ambiente virtual | 
| --- | --- | --- | 
| Armv7l | build-essential, cmake, ca-certificates, git | setuptools, wheel | 
| Amazon Linux 2 | mesa-libGL | Nenhum | 
| Ubuntu | wget | Nenhum | 

Quando você implanta seu componente de inferência, esse componente de runtime primeiro verifica se seu dispositivo já tem o DLR e as dependências dele instaladas, caso contrário, ele instala para você. 

## Arquivo de log local
<a name="dlr-component-log-file"></a>

Esse componente usa o arquivo de log abaixo.

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

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

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

```
C:\greengrass\v2\logs\variant.DLR.log
```

------

**Para exibir os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

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

  ```
  sudo tail -f /greengrass/v2/logs/variant.DLR.log
  ```

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

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

------

## Changelog
<a name="dlr-component-changelog"></a>

A tabela a seguir descreve as alterações em cada versão do componente.


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  1.6.16  |  Versão atualizada para o Greengrass nucleus versão 2.12.5.  | 
|  1.6.12  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/dlr-component.html)  | 
|  1.6.11  | Versão atualizada para o núcleo do Greengrass 2.9.0. | 
|  1.6.10  | Versão atualizada para o Greengrass nucleus versão 2.8.0. | 
|  1.6.9  |  Versão atualizada para o Greengrass nucleus versão 2.7.0.  | 
|  1.6.8  |  Versão atualizada para o Greengrass nucleus versão 2.6.0.  | 
|  1.6.7  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/dlr-component.html)  | 
|  1.6.6  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/dlr-component.html)  | 
|  1.6.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/dlr-component.html)  | 
|  1.6.4  |  Versão atualizada para o Greengrass nucleus versão 2.4.0.  | 
|  1.6.3  |  Versão atualizada para o Greengrass nucleus versão 2.3.0.  | 
|  1.6.2  |  Versão atualizada para o lançamento do núcleo do Greengrass versão 2.2.0.  | 
|  1.6.1  |  <a name="changelog-dlr-1.6.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/dlr-component.html)  | 
|  1.3.2  |  Versão inicial. Instala o DLR v1.3.0.  | 