

Aviso de fim do suporte: em 7 de outubro de 2026, AWS o suporte para o. AWS IoT Greengrass Version 1 Depois de 7 de outubro de 2026, você não poderá mais acessar os AWS IoT Greengrass V1 recursos. Para obter mais informações, visite [Migrar de AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

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

# Opcional: configurar o dispositivo para qualificação de ML
<a name="idt-ml-qualification"></a>

O IDT for AWS IoT Greengrass fornece testes de qualificação de aprendizado de máquina (ML) para validar se seus dispositivos podem realizar inferência de ML localmente usando modelos treinados na nuvem.

Para executar testes de qualificação de ML, primeiro é preciso configurar os dispositivos conforme descrito em [Configure seu dispositivo para executar testes de IDT](device-config-setup.md). Depois, siga as etapas deste tópico para instalar dependências para as estruturas de ML que você deseja executar.

É necessária a versão 3.1.0 ou posterior do IDT para executar testes de qualificação de ML.

## Instalar dependências de estrutura do ML
<a name="ml-qualification-framework-dependencies"></a>

Todas as dependências de estrutura do ML devem ser instaladas no diretório `/usr/local/lib/python3.x/site-packages`. Para certificar-se de que estão instaladas no diretório correto, é recomendado usar permissões raiz `sudo` ao instalar as dependências. Os ambientes virtuais não oferecem suporte a testes de qualificação.

**nota**  
Se você estiver testando funções do Lambda executadas com [conteinerização](lambda-group-config.md#lambda-containerization-considerations) (no modo de **Contêiner do Greengrass**, a criação de symlinks para bibliotecas Python em `/usr/local/lib/python3.x` não é compatível. Para evitar erros, instale as dependências no diretório correto.

Siga as etapas para instalar as dependências na estrutura de destino:
+ [Instalar dependências do MXNet](#ml-qualification-mxnet-dependencies)
+ [Instalar TensorFlow dependências](#ml-qualification-tensorflow-dependencies)
+ [Instalar dependências do DLR](#ml-qualification-dlr-dependencies)

 

## Instalar dependências do Apache MxNet
<a name="ml-qualification-mxnet-dependencies"></a>

<a name="test-framework-dependencies"></a>Os testes de qualificação do IDT para esta estrutura têm as seguintes dependências:
+ <a name="ml-qualification-python-req"></a>Python 3.6 ou Python 3.7.
**nota**  <a name="python-symlink-command"></a>
Se estiver usando Python 3.6, você deve criar um symblink de Python 3.7 para binários Python 3.6. Isso configura seu dispositivo para atender ao requisito Python para AWS IoT Greengrass. Por exemplo:  

  ```
  sudo ln -s {{path-to-python-3.6}}/python3.6 {{path-to-python-3.7}}/python3.7
  ```
+ Apache MXNet v1.2.1 ou posterior.
+ NumPy. A versão deve ser compatível com sua versão do MXNet.

### Instalar o MXNet
<a name="ml-qualification-mxnet-install"></a>

Siga as instruções na documentação do MXNet para [instalar o MXNet](https://mxnet.apache.org/get_started/?platform=linux&language=python&processor=cpu&environ=pip&).

**nota**  
<a name="run-python3-commands"></a>Se o Python 2.x e o Python 3.x estiverem instalados no seu dispositivo, use o Python 3.x nos comandos executados para instalar as dependências.

### Validar a instalação do MXNet
<a name="ml-qualification-mxnet-validate"></a>

Selecione uma das opções a seguir para validar a instalação do MXNet.

#### Opção 1: usar SSH para o seu dispositivo e executar scripts
<a name="ml-qualification-validate-mxnet-option-1"></a>

1. <a name="ssh-validate-framework-install-ssh"></a>SSH para o seu dispositivo.

1. <a name="ssh-validate-framework-install-run-scripts"></a>Execute o script a seguir para verificar se as dependências estão instaladas corretamente.

   ```
   sudo python3.7 -c "import mxnet; print(mxnet.__version__)"
   ```

   ```
   sudo python3.7 -c "import numpy; print(numpy.__version__)"
   ```

   <a name="ssh-passed-mldependencies"></a>A saída imprime o número da versão e o script deve sair sem erro.

#### Opção 2: executar o teste de dependência de IDT
<a name="ml-qualification-validate-mxnet-option-2"></a>

1. <a name="idt-validate-framework-install-check-config"></a>Certifique-se de que `device.json` esteja configurado para qualificação de ML. Para obter mais informações, consulte [Configurar device.json para qualificação de ML](set-config.md#device-json-ml-qualification).

1. <a name="idt-validate-framework-install-run-test"></a>Execute o teste de dependências para a estrutura.

   ```
   devicetester_{{[linux | mac | win_x86-64]}} run-suite --group-id mldependencies --test-id mxnet_dependency_check
   ```

   <a name="idt-passed-mldependencies"></a>O resumo do teste exibe um resultado `PASSED` para `mldependencies`.

 

## Instalar TensorFlow dependências
<a name="ml-qualification-tensorflow-dependencies"></a>

<a name="test-framework-dependencies"></a>Os testes de qualificação do IDT para esta estrutura têm as seguintes dependências:
+ <a name="ml-qualification-python-req"></a>Python 3.6 ou Python 3.7.
**nota**  <a name="python-symlink-command"></a>
Se estiver usando Python 3.6, você deve criar um symblink de Python 3.7 para binários Python 3.6. Isso configura seu dispositivo para atender ao requisito Python para AWS IoT Greengrass. Por exemplo:  

  ```
  sudo ln -s {{path-to-python-3.6}}/python3.6 {{path-to-python-3.7}}/python3.7
  ```
+ TensorFlow 1.x.

### Instalando TensorFlow
<a name="ml-qualification-tensorflow-install"></a>

Siga as instruções na TensorFlow documentação para instalar o TensorFlow 1.x [com pip](https://www.tensorflow.org/install/pip) ou [da](https://www.tensorflow.org/install/source) fonte.

**nota**  
<a name="run-python3-commands"></a>Se o Python 2.x e o Python 3.x estiverem instalados no seu dispositivo, use o Python 3.x nos comandos executados para instalar as dependências.

### Validando a instalação TensorFlow
<a name="ml-qualification-tensorflow-validate"></a>

Escolha uma das opções a seguir para validar a TensorFlow instalação.

#### Opção 1: usar SSH para o seu dispositivo e executar um script
<a name="ml-qualification-validate-tensorflow-option-1"></a>

1. <a name="ssh-validate-framework-install-ssh"></a>SSH para o seu dispositivo.

1. Execute o script a seguir para verificar se a dependência está instalada corretamente.

   ```
   sudo python3.7 -c "import tensorflow; print(tensorflow.__version__)"
   ```

   <a name="ssh-passed-mldependencies"></a>A saída imprime o número da versão e o script deve sair sem erro.

#### Opção 2: executar o teste de dependência de IDT
<a name="ml-qualification-validate-tensorflow-option-2"></a>

1. <a name="idt-validate-framework-install-check-config"></a>Certifique-se de que `device.json` esteja configurado para qualificação de ML. Para obter mais informações, consulte [Configurar device.json para qualificação de ML](set-config.md#device-json-ml-qualification).

1. <a name="idt-validate-framework-install-run-test"></a>Execute o teste de dependências para a estrutura.

   ```
   devicetester_{{[linux | mac | win_x86-64]}} run-suite --group-id mldependencies --test-id tensorflow_dependency_check
   ```

   <a name="idt-passed-mldependencies"></a>O resumo do teste exibe um resultado `PASSED` para `mldependencies`.

 

## Instale dependências do Amazon SageMaker AI Neo Deep Learning Runtime (DLR)
<a name="ml-qualification-dlr-dependencies"></a>

<a name="test-framework-dependencies"></a>Os testes de qualificação do IDT para esta estrutura têm as seguintes dependências:
+ <a name="ml-qualification-python-req"></a>Python 3.6 ou Python 3.7.
**nota**  <a name="python-symlink-command"></a>
Se estiver usando Python 3.6, você deve criar um symblink de Python 3.7 para binários Python 3.6. Isso configura seu dispositivo para atender ao requisito Python para AWS IoT Greengrass. Por exemplo:  

  ```
  sudo ln -s {{path-to-python-3.6}}/python3.6 {{path-to-python-3.7}}/python3.7
  ```
+ SageMaker AI Neo DLR.
+ numpy.

Depois de instalar as dependências de teste do DLR, é preciso [compilar o modelo](#ml-qualification-dlr-compile-model).

### Instalar o DLR
<a name="ml-qualification-dlr-install"></a>

Siga as instruções na documentação do DLR para [instalar o Neo DLR](https://neo-ai-dlr.readthedocs.io/en/latest/install.html#building-on-linux).

**nota**  
<a name="run-python3-commands"></a>Se o Python 2.x e o Python 3.x estiverem instalados no seu dispositivo, use o Python 3.x nos comandos executados para instalar as dependências.

### Validar a instalação do DLR
<a name="ml-qualification-dlr-validate"></a>

Selecione uma das opções a seguir para validar a instalação do DLR.

#### Opção 1: usar SSH para o seu dispositivo e executar scripts
<a name="ml-qualification-validate-dlr-option-1"></a>

1. <a name="ssh-validate-framework-install-ssh"></a>SSH para o seu dispositivo.

1. <a name="ssh-validate-framework-install-run-scripts"></a>Execute o script a seguir para verificar se as dependências estão instaladas corretamente.

   ```
   sudo python3.7 -c "import dlr; print(dlr.__version__)"
   ```

   ```
   sudo python3.7 -c "import numpy; print(numpy.__version__)"
   ```

   <a name="ssh-passed-mldependencies"></a>A saída imprime o número da versão e o script deve sair sem erro.

#### Opção 2: executar o teste de dependência de IDT
<a name="ml-qualification-validate-dlr-option-2"></a>

1. <a name="idt-validate-framework-install-check-config"></a>Certifique-se de que `device.json` esteja configurado para qualificação de ML. Para obter mais informações, consulte [Configurar device.json para qualificação de ML](set-config.md#device-json-ml-qualification).

1. <a name="idt-validate-framework-install-run-test"></a>Execute o teste de dependências para a estrutura.

   ```
   devicetester_{{[linux | mac | win_x86-64]}} run-suite --group-id mldependencies --test-id dlr_dependency_check
   ```

   <a name="idt-passed-mldependencies"></a>O resumo do teste exibe um resultado `PASSED` para `mldependencies`.

## Compilar o modelo de DLR
<a name="ml-qualification-dlr-compile-model"></a>

Você deve compilar o modelo de DLR antes de usá-lo para testes de qualificação de ML. Selecione uma das seguintes opções para saber mais detalhes:

### Opção 1: usar o Amazon SageMaker AI para compilar o modelo
<a name="ml-qualification-compile-dlr-option-1"></a>

Siga estas etapas para usar a SageMaker IA para compilar o modelo de ML fornecido pelo IDT. Este modelo é pré-treinado com Apache MXNet.

1. Verifique se seu tipo de dispositivo é compatível com SageMaker IA. Para obter mais informações, consulte as [opções do dispositivo de destino](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OutputConfig.html#sagemaker-Type-OutputConfig-TargetDevice) na *Amazon SageMaker AI API Reference*. Se o seu tipo de dispositivo não for compatível atualmente com SageMaker IA, siga as etapas em[Opção 2: usar o TVM para compilar o modelo de DLR](#ml-qualification-compile-dlr-option-2).
**nota**  
A execução do teste DLR com um modelo compilado pela SageMaker IA pode levar de 4 a 5 minutos. Não interrompa o IDT durante esse período.

1. <a name="compile-dlr-download-uncompiled-model"></a>Faça download do arquivo tarball que contém o modelo MXNet pré-treinado e não compilado para DLR:
   + [dlr-noncompiled-model-1.0.tar.gz](https://docs.aws.amazon.com/greengrass/latest/developerguide/download-dlr-noncompiled-model-1.0.html)

1. <a name="compile-dlr-decompress-uncompiled-model"></a>Descompacte o tarball. Esse comando gera a seguinte estrutura de diretório.  
![O diretório resnet18 contém três arquivos.](http://docs.aws.amazon.com/pt_br/greengrass/v1/developerguide/images/idt/idt-ml-qualification-dlr-uncompiled.png)

1. Mova o arquivo `synset.txt` do diretório `resnet18` para outro local. Anote o novo local. Posteriormente, copie este arquivo para o diretório do modelo compilado.

1. Compacte o conteúdo do diretório `resnet18`.

   ```
   tar cvfz model.tar.gz resnet18v1-symbol.json resnet18v1-0000.params
   ```

1. Faça upload do arquivo compactado em um bucket do Amazon S3 no Conta da AWS seu e siga as etapas [em Compilar um modelo (console) para criar um trabalho de compilação](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-job-compilation-console.html).

   1. Em **Configuração de entrada**, use os seguintes valores:
      + Em **Configuração de dados de entrada**, digite `{"data": [1, 3, 224, 224]}`.
      + Em **Estrutura de machine learning**, selecione `MXNet`.

   1. Em **Configuração de saída**, use os seguintes valores:
      + Em **Local de saída do S3**, insira o caminho para o bucket do Amazon S3 ou a pasta onde deseja armazenar o modelo compilado.
      + Em **Dispositivo de destino**, selecione o tipo de dispositivo.

1. Faça download do modelo compilado do local de saída especificado e descompacte o arquivo.

1. Copie `synset.txt` para o diretório do modelo compilado.

1. Altere o nome do diretório do modelo compilado para `resnet18`.

   O diretório do modelo compilado deve ter a seguinte estrutura de diretório.  
![O diretório do modelo compilado resnet18 contém quatro arquivos.](http://docs.aws.amazon.com/pt_br/greengrass/v1/developerguide/images/idt/idt-ml-qualification-dlr-compiled-sm.png)

### Opção 2: usar o TVM para compilar o modelo de DLR
<a name="ml-qualification-compile-dlr-option-2"></a>

Siga estas etapas para usar o TVM para compilar o modelo de ML fornecido pelo IDT. Este modelo é pré-treinado com o Apache MXNet, portanto, é necessário instalar o MXNet no computador ou dispositivo onde o modelo será compilado. Para instalar o MxNet, siga as instruções na [documentação do MxNet](https://mxnet.apache.org/get_started/?platform=linux&language=python&processor=cpu&environ=pip&).

**nota**  
Recomendamos que você compile o modelo no dispositivo de destino. Essa prática é opcional, mas pode ajudar a garantir a compatibilidade e mitigar possíveis problemas.

 

1. <a name="compile-dlr-download-uncompiled-model"></a>Faça download do arquivo tarball que contém o modelo MXNet pré-treinado e não compilado para DLR:
   + [dlr-noncompiled-model-1.0.tar.gz](https://docs.aws.amazon.com/greengrass/latest/developerguide/download-dlr-noncompiled-model-1.0.html)

1. <a name="compile-dlr-decompress-uncompiled-model"></a>Descompacte o tarball. Esse comando gera a seguinte estrutura de diretório.  
![O diretório resnet18 contém três arquivos.](http://docs.aws.amazon.com/pt_br/greengrass/v1/developerguide/images/idt/idt-ml-qualification-dlr-uncompiled.png)

1. Siga as instruções na documentação do TVM para [criar e instalar o TVM da origem para a sua plataforma](https://docs.tvm.ai/install/from_source.html).

1. Depois de criar o TVM, execute a compilação do TVM para o modelo resnet18. As etapas a seguir são baseadas no [Quick Start Tutorial for Compiling Deep Learning Models](https://tvm.apache.org/docs/tutorial/relay_quick_start.html#sphx-glr-tutorials-get-started-relay-quick-start-py) na documentação do TVM.

   1. Abra o arquivo `relay_quick_start.py` a partir do repositório do TVM clonado.

   1. Atualize o código que [define uma rede neural em retransmissão](https://tvm.apache.org/docs/tutorial/relay_quick_start.html#define-neural-network-in-relay). Você pode usar uma das opções a seguir:
      + Opção 1: usar `mxnet.gluon.model_zoo.vision.get_model` para obter o módulo e os parâmetros de retransmissão:

        ```
        from mxnet.gluon.model_zoo.vision import get_model
        block = get_model('resnet18_v1', pretrained=True)
        mod, params = relay.frontend.from_mxnet(block, {"data": data_shape})
        ```
      + Opção 2: copiar os seguintes arquivos do modelo não compilado que você baixou na etapa 1 para o mesmo diretório que o arquivo `relay_quick_start.py`. Esses arquivos contêm o módulo e os parâmetros de retransmissão.
        + `resnet18v1-symbol.json`
        + `resnet18v1-0000.params`

   1. Atualize o código que [salva e carrega o módulo compilado](https://tvm.apache.org/docs/tutorial/relay_quick_start.html#save-and-load-compiled-module) para usar o código a seguir.

      ```
      from tvm.contrib import util
      path_lib = "deploy_lib.so"
      #  Export the model library based on your device architecture
      lib.export_library("deploy_lib.so", cc="aarch64-linux-gnu-g++")
      with open("deploy_graph.json", "w") as fo:
          fo.write(graph)
      with open("deploy_param.params", "wb") as fo:
          fo.write(relay.save_param_dict(params))
      ```

   1. Crie o modelo:

      ```
      python3 tutorials/relay_quick_start.py --build-dir ./model
      ```

      Este comando gera os seguintes arquivos.
      + `deploy_graph.json`
      + `deploy_lib.so`
      + `deploy_param.params`

1. Copie os arquivos de modelo gerados em um diretório chamado `resnet18`. Este é o diretório do modelo compilado.

1. Copie o diretório do modelo compilado para o computador host. Depois, copie o arquivo `synset.txt` do modelo não compilado que você baixou na etapa 1 para o diretório do modelo compilado.

   O diretório do modelo compilado deve ter a seguinte estrutura de diretório.  
![O diretório do modelo compilado resnet18 contém quatro arquivos.](http://docs.aws.amazon.com/pt_br/greengrass/v1/developerguide/images/idt/idt-ml-qualification-dlr-compiled-tvm.png)

Em seguida, [configure suas AWS credenciais e seu `device.json` arquivo](set-config.md).