Tempo de execução do DLR - AWS IoT Greengrass

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

Tempo de execução do DLR

O componente de tempo de execução do DLR (variant.DLR) contém um script que instala o Deep Learning Runtime (DLR) e suas dependências em um ambiente virtual no seu dispositivo. Os Detecção de objetos DLR componentes Classificação de imagens DLR e 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 um tempo de execução diferente, você pode usar a receita desse componente como modelo para criar um componente de aprendizado de máquina personalizado.

Versões

Esse componente tem as seguintes versões:

  • 1.6.x

  • 1.3.x

Tipo

Este componente é um componente genérico (aws.greengrass.generic). O núcleo do Greengrass executa os scripts do ciclo de vida do componente.

Para ter mais informações, consulte Tipos de componentes.

Sistema operacional

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

  • Linux

  • Windows

Requisitos

Esse componente tem os seguintes requisitos:

  • Nos principais dispositivos do Greengrass que executam o Amazon Linux 2 ou o Ubuntu 18.04, a GNU C Library (glibc) versão 2.27 ou posterior está instalada no dispositivo.

  • Em dispositivos ARMv7L, como o Raspberry Pi, dependências do OpenCV-Python instaladas no dispositivo. Execute o comando a seguir 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 ativada no dispositivo. O Raspberry Pi OS Bullseye inclui uma nova pilha de câmeras que é ativada por padrão e não é compatível, portanto, você deve habilitar a pilha de câmeras antiga.

      Para habilitar a pilha de câmeras antiga
      1. Execute o comando a seguir para abrir a ferramenta de configuração do Raspberry Pi.

        sudo raspi-config
      2. Selecione Opções de interface.

      3. Selecione Câmera antiga para ativar a pilha de câmeras antigas.

      4. Reinicie o Raspberry Pi.

Endpoints e portas

Por padrão, esse componente usa um script de instalação para instalar pacotes usando os pip comandos apt yumbrew,,, e, dependendo da plataforma usada pelo dispositivo principal. Esse componente deve ser capaz de realizar 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 desse componente por meio de um proxy ou firewall, você deve identificar os endpoints dos índices e repositórios de pacotes aos quais seu dispositivo principal se conecta para instalar.

Considere o seguinte ao identificar os endpoints necessários para o script de instalação desse componente:

  • Os endpoints dependem da plataforma do dispositivo principal. Por exemplo, um dispositivo principal que executa o Ubuntu usa apt em vez de yum oubrew. Além disso, dispositivos que usam o mesmo índice de pacotes podem ter listas de fontes diferentes e, portanto, podem recuperar pacotes de repositórios diferentes.

  • Os endpoints podem ser diferentes entre vários dispositivos que usam o mesmo índice de pacotes, porque cada dispositivo tem suas próprias listas de origem que definem onde recuperar os pacotes.

  • Os endpoints podem mudar com o tempo. Cada índice de pacotes fornece os URLs dos repositórios nos quais você baixa pacotes, e o proprietário de um pacote pode alterar os URLs fornecidos pelo índice de pacotes.

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 UseInstallerconfiguração.

Para obter mais informações sobre terminais e portas necessários para a operação básica, consultePermitir o tráfego de dispositivos por meio de um proxy ou firewall.

Dependências

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que você deve atender aos requisitos do componente e de todas as suas dependências para implantá-lo com êxito. Esta seção lista as dependências das versões lançadas desse componente e as restrições de versão semântica que definem as versões do componente para cada dependência. Você também pode visualizar as dependências de cada versão do componente no AWS IoT Greengrass console. 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
Núcleo Greengrass >=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
Núcleo Greengrass >=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
Núcleo Greengrass >=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
Núcleo Greengrass >=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
Núcleo Greengrass >=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
Núcleo Greengrass >=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
Núcleo Greengrass >=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
Núcleo Greengrass >=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
Núcleo Greengrass >=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
Núcleo Greengrass ~2.0.0 Flexível

Para obter mais informações sobre dependências de componentes, consulte a referência da receita do componente.

Configuração

Esse componente fornece os seguintes parâmetros de configuração que você pode personalizar ao implantar o componente.

MLRootPath

(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 no qual o usuário que está executando esse componente tenha acesso de leitura/gravação.

Padrão: /greengrass/v2/work/variant.DLR/greengrass_ml

WindowsMLRootPath

Esse recurso está disponível na versão 1.6.6 e posterior desse componente.

(Opcional) O caminho da pasta no dispositivo principal do Windows 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 no qual o usuário que está executando esse componente tenha acesso de leitura/gravação.

Padrão: C:\greengrass\v2\\work\\variant.DLR\\greengrass_ml

UseInstaller

(Opcional) Valor da string que define se o script do instalador deve ser usado nesse componente para instalar o DLR e suas dependências. Os valores compatíveis são true e false.

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 tempo de execução 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 exemploggc_user, que executa os componentes de ML.

Padrão: true

Uso

Use esse componente com o parâmetro UseInstaller de configuração definido true para instalar o DLR e suas dependências 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

O script do instalador neste 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 aprendizado de máquina 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ê quiser personalizar esse processo de instalação, defina o parâmetro de UseInstaller configuração como false e desenvolva seu próprio script de instalação.

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 tempo de execução primeiro verifica se seu dispositivo já tem o DLR e suas dependências instaladas e, se não, ele os instala para você.

Arquivo de log local

Esse componente usa o seguinte arquivo de log.

Linux
/greengrass/v2/logs/variant.DLR.log
Windows
C:\greengrass\v2\logs\variant.DLR.log
Para visualizar os registros 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:\greengrass\v2 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 tabela a seguir descreve as alterações em cada versão do componente.

Version (Versão)

Alterações

1.6.16

Versão atualizada para o Greengrass nucleus versão 2.12.5.

1.6.12

Correções de erros e melhorias
  • Corrige o script de instalação para usuários do sistema operacional Windows.

1.6.11

Versão atualizada para a versão 2.9.0 do Greengrass nucleus.

1.6.10

Versão atualizada para a versão 2.8.0 do Greengrass nucleus.

1.6.9

Versão atualizada para a versão 2.7.0 do Greengrass nucleus.

1.6.8

Versão atualizada para a versão 2.6.0 do Greengrass nucleus.

1.6.7

Correções de erros e melhorias
  • Atualiza o script de UseInstaller instalação para instalar o LibGL, que não está disponível por padrão em determinadas plataformas Linux.

  • Atualiza o script de UseInstaller instalação para sempre usar o Python 3.9 no ambiente virtual desse componente. Essa alteração ajuda a garantir a compatibilidade com outras bibliotecas.

1.6.6

Novos atributos
  • Adiciona suporte para dispositivos principais que executam o Windows.

  • Adiciona o novo parâmetro de WindowsMLRootPath configuração que você pode usar para configurar a pasta de resultados de inferência nos dispositivos principais do Windows.

1.6.5

Novos atributos
  • Adiciona o novo parâmetro de UseInstaller configuração que você pode usar para desativar o script de instalação nesse componente.

1.6.4

Versão atualizada para a versão 2.4.0 do Greengrass nucleus.

1.6.3

Versão atualizada para a versão 2.3.0 do Greengrass nucleus.

1.6.2

Versão atualizada para a versão 2.2.0 do Greengrass nucleus.

1.6.1

Novos atributos
  • Instale o Deep Learning Runtime v1.6.0 e suas dependências.

  • Adicione suporte para instalação de DLR em plataformas Armv8 (AArch64). Isso amplia o suporte ao aprendizado de máquina para os principais dispositivos do Greengrass que executam o NVIDIA Jetson, como o Jetson Nano.

Correções de erros e melhorias
  • Instale o AWS IoT Device SDK no ambiente virtual para ler a configuração do componente e aplicar as alterações de configuração.

  • Correções e melhorias adicionais de pequenos bugs.

1.3.2

Versão inicial. Instala o DLR v1.3.0.