

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á.

# Classificação de imagens do DLR
<a name="dlr-image-classification-component"></a>

O componente de classificação de imagem do DLR (`aws.greengrass.DLRImageClassification`) contém exemplos de código de inferência para realizar inferência de classificação de imagens usando modelos de [runtime de aprendizado profundo](https://github.com/neo-ai/neo-ai-dlr) e do resnet-50. Esse componente usa a variante [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) e os componentes [Runtime do DLR](dlr-component.md) como dependências para baixar o DLR e os modelos de amostra. 

Para usar esse componente de inferência com um modelo do DLR personalizado, [crie uma versão personalizada](ml-customization.md#override-public-model-store) do componente de armazenamento de modelos dependente. Para usar seu próprio código de inferência personalizado, é possível usar a fórmula desse componente como modelo para [criar um componente de inferência personalizado](ml-customization.md#create-inference-component).

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

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

Esse componente tem as seguintes versões:
+ 2.1.x
+ 2.0.x

## Tipo
<a name="dlr-image-classification-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-image-classification-component-os-support"></a>

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

## Requisitos
<a name="dlr-image-classification-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.

## Dependências
<a name="dlr-image-classification-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-image-classification-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**.

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

A seguinte tabela lista as dependências das versões 2.1.13 e 2.1.14 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | Flexível | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

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

A seguinte tabela lista as dependências da versão 2.1.12 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | Flexível | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

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

A seguinte tabela lista as dependências da versão 2.1.11 desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | Flexível | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

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

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


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | Flexível | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

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

A tabela a seguir lista as dependências da versão 2.1.9 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 | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

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

A tabela a seguir lista as dependências da versão 2.1.8 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 | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

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

A tabela a seguir lista as dependências da versão 2.1.7 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 | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

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

A tabela a seguir lista as dependências da versão 2.1.6 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 | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

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

A seguinte tabela lista as dependências das versões 2.1.4 e 2.1.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 | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

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

A tabela a seguir lista as dependências da versão 2.1.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 | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

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

A tabela a seguir lista as dependências da versão 2.1.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 | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

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

A tabela a seguir lista as dependências da versão 2.1.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 | 
| [Armazenamento de modelos de classificação de imagens do DLR](dlr-image-classification-model-store-component.md) | \$12.1.0 | Rígido | 
| [DLR](dlr-component.md) | \$11.6.0 | Rígido | 

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

A seguinte tabela lista as dependências da versão 2.0.x desse componente.


| Dependência | Versões compatíveis | Tipo de dependência | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | \$12.0.0 | Flexível | 
| Armazenamento de modelos de classificação de imagens do DLR | \$12.0.0 | Rígido | 
| DLR | \$11.3.0 | Flexível | 

------

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

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

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

`accessControl`  
<a name="ml-config-accesscontrol-desc"></a>(Opcional) O objeto que contém a [política de autorização](interprocess-communication.md#ipc-authorization-policies) que permite que o componente publique mensagens no tópico de notificações padrão.   
Padrão:   

```
{
   "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>(Opcional) O tópico no qual você deseja publicar os resultados da inferência. Se você modificar esse valor, também deverá modificar o valor de `resources` no parâmetro `accessControl` para corresponder ao nome do tópico personalizado.  
Padrão: `ml/dlr/image-classification`

`Accelerator`  <a name="ml-config-accelerator"></a>
O acelerador que você deseja usar. Os valores compatíveis são `cpu` e `gpu`.  
Os modelos de amostra no componente de modelo dependente oferecem suporte somente à aceleração de CPU. Para usar a aceleração de GPU com outro modelo personalizado, [crie um componente de modelo personalizado](ml-customization.md#override-public-model-store) para substituir o componente de modelo público.  
Padrão: `cpu`

`ImageDirectory`  
<a name="ml-config-imagedirectory-desc"></a>(Opcional) O caminho da pasta no dispositivo em que os componentes de inferência leem as imagens. Você pode modificar esse valor para qualquer local em seu dispositivo ao qual tenha read/write acesso.  
<a name="ml-config-imagedirectory-img-default"></a>Padrão: `/greengrass/v2/packages/artifacts-unarchived/component-name/image_classification/sample_images/`  
Se você definir o valor de `UseCamera` como `true`, esse parâmetro de configuração será ignorado. 

`ImageName`  
<a name="ml-config-imagename-desc"></a>(Opcional) O nome da imagem que o componente de inferência usa como entrada para fazer uma previsão. O componente procura a imagem na pasta especificada em `ImageDirectory`. Por padrão, o componente usa a imagem de amostra no diretório de imagens padrão. AWS IoT Greengrass suporta os seguintes formatos de imagem: `jpeg` `jpg``png`,, `npy` e.   
<a name="ml-config-imagename-img-default"></a>Padrão: `cat.jpeg`  
Se você definir o valor de `UseCamera` como `true`, esse parâmetro de configuração será ignorado. 

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(Opcional) O tempo em segundos entre cada previsão feita pelo código de inferência. O código de inferência de amostra é executado indefinidamente e repete as previsões no intervalo de tempo especificado. Por exemplo, é possível alterar isso para um intervalo menor se você quiser usar as imagens capturadas por uma câmera para previsão em tempo real.  
Padrão: `3600`

`ModelResourceKey`  <a name="ml-config-modelresourcekey"></a>
<a name="ml-config-modelresourcekey-desc"></a>(Opcional) Os modelos usados no componente de modelo público dependente. Modifique esse parâmetro somente se você substituir o componente de modelo público por um componente personalizado.   
Padrão:  

```
{
    "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>
(Opcional) O valor de string que define se as imagens de uma câmera conectada ao dispositivo principal do Greengrass devem ser usadas. Os valores compatíveis são `true` e `false`.  
Quando você define esse valor como `true`, o código de inferência de amostra acessa a câmera do seu dispositivo e executa a inferência localmente na imagem capturada. Os valores dos parâmetros `ImageName` e `ImageDirectory` são ignorados. Certifique-se de que o usuário que está executando esse componente tenha read/write acesso ao local em que a câmera armazena as imagens capturadas.  
Padrão: `false`  
Quando você visualiza a fórmula desse componente, o parâmetro de configuração `UseCamera` não aparece na configuração padrão. No entanto, você pode modificar o valor desse parâmetro em uma [atualização de mesclagem da configuração](update-component-configurations.md) ao implantar o componente.   
Ao definir `UseCamera` como `true`, você também deve criar um link simbólico para permitir que o componente de inferência acesse sua câmera do ambiente virtual criado pelo componente de runtime. Para mais informações sobre como usar uma câmera com os componentes de inferência de amostra, consulte [Atualizar configurações do componente](ml-tutorial-image-classification-camera.md).

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

`MLRootPath`  <a name="ml-config-mlrootpath"></a>
<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 imagens e gravam resultados de 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`  
<a name="ml-config-mlrootpath-default-tfl"></a>Padrão: `/greengrass/v2/work/variant.TensorFlowLite/greengrass_ml`

`Accelerator`  <a name="ml-config-accelerator"></a>
O acelerador que você deseja usar. Os valores compatíveis são `cpu` e `gpu`.  
Os modelos de amostra no componente de modelo dependente oferecem suporte somente à aceleração de CPU. Para usar a aceleração de GPU com outro modelo personalizado, [crie um componente de modelo personalizado](ml-customization.md#override-public-model-store) para substituir o componente de modelo público.  
Padrão: `cpu`

`ImageName`  
<a name="ml-config-imagename-desc-dlr-1.3.0"></a>(Opcional) O nome da imagem que o componente de inferência usa como entrada para fazer uma previsão. O componente procura a imagem na pasta especificada em `ImageDirectory`. O local padrão é`MLRootPath/images`. AWS IoT Greengrass suporta os seguintes formatos de imagem: `jpeg` `jpg``png`,, `npy` e.   
<a name="ml-config-imagename-img-default"></a>Padrão: `cat.jpeg`

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(Opcional) O tempo em segundos entre cada previsão feita pelo código de inferência. O código de inferência de amostra é executado indefinidamente e repete as previsões no intervalo de tempo especificado. Por exemplo, é possível alterar isso para um intervalo menor se você quiser usar as imagens capturadas por uma câmera para previsão em tempo real.  
Padrão: `3600`

`ModelResourceKey`  <a name="ml-config-modelresourcekey"></a>
<a name="ml-config-modelresourcekey-desc"></a>(Opcional) Os modelos usados no componente de modelo público dependente. Modifique esse parâmetro somente se você substituir o componente de modelo público por um componente personalizado.   
Padrão:  

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

------

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

Esse componente usa o arquivo de log abaixo.

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

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

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

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

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

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

------

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

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


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.1.14  | Versão atualizada para o lançamento 2.12.5 do núcleo do Greengrass. | 
|  2.1.13  | Versão atualizada para o lançamento da versão 2.12.0 do núcleo do Greengrass. | 
|  2.1.12  | Versão atualizada para o Greengrass nucleus versão 2.11.0. | 
|  2.1.11  | Versão atualizada para o Greengrass nucleus versão 2.10.0. | 
|  2.1.10  | Versão atualizada para o lançamento da versão 2.9.0 do núcleo do Greengrass. | 
|  2.1.9  | Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass. | 
|  2.1.8  |  Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.  | 
|  2.1.7  |  Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.  | 
|  2.1.6  |  Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass.  | 
|  2.1.5  |  Componente lançado em todos Regiões da AWS.  | 
|  2.1.4  |  Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass. Esta versão não está disponível na Europa (Londres) (`eu-west-2`).  | 
|  2.1.3  |  Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.  | 
|  2.1.2  |  Versão atualizada para o lançamento da versão 2.2.0 do núcleo do Greengrass.  | 
|  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/pt_br/greengrass/v2/developerguide/dlr-image-classification-component.html)  | 
|  2.0.4  |  Versão inicial.  | 