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á.
Tutorial: Comece a usar o SageMaker Edge Manager
Importante
SageMaker O Edge Manager foi descontinuado em 26 de abril de 2024. Para obter mais informações sobre como continuar implantando seus modelos em dispositivos de ponta, consulte Fim da vida útil do SageMaker Edge Manager.
O Amazon SageMaker Edge Manager é um agente de software executado em dispositivos periféricos. SageMaker O Edge Manager fornece gerenciamento de modelos para dispositivos de borda para que você possa empacotar e usar modelos SageMaker compilados pelo Amazon Neo diretamente nos dispositivos principais do Greengrass. Ao usar o SageMaker Edge Manager, você também pode amostrar dados de entrada e saída do modelo de seus dispositivos principais e enviar esses dados Nuvem AWS para monitoramento e análise. Para obter mais informações sobre como o SageMaker Edge Manager funciona nos dispositivos principais do Greengrass, consulte. Use o Amazon SageMaker Edge Manager nos dispositivos principais do Greengrass
Este tutorial mostra como começar a usar o SageMaker Edge Manager com componentes AWS de amostra fornecidos em um dispositivo principal existente. Esses componentes de amostra usam o componente SageMaker Edge Manager como uma dependência para implantar o agente do Edge Manager e realizar inferência usando modelos pré-treinados que foram compilados usando o Neo. SageMaker Para obter mais informações sobre o agente do SageMaker Edge Manager, consulte o SageMaker Edge Manager no Amazon SageMaker Developer Guide.
Para configurar e usar o agente do SageMaker Edge Manager em um dispositivo principal existente do Greengrass, AWS fornece um exemplo de código que você pode usar para criar os seguintes exemplos de componentes de inferência e modelo.
-
Classificação de imagens
-
com.greengrass.SageMakerEdgeManager.ImageClassification
-
com.greengrass.SageMakerEdgeManager.ImageClassification.Model
-
-
Detecção de objetos
-
com.greengrass.SageMakerEdgeManager.ObjectDetection
-
com.greengrass.SageMakerEdgeManager.ObjectDetection.Model
-
Este tutorial mostra como implantar os componentes de amostra e o agente do SageMaker Edge Manager.
Tópicos
Pré-requisitos
Para concluir este tutorial, você deve atender aos seguintes pré-requisitos:
-
Um dispositivo principal do Greengrass executado no Amazon Linux 2, uma plataforma Linux baseada em Debian (x86_64 ou Armv8) ou Windows (x86_64). Se você não tiver uma, consulte Tutorial: Conceitos básicos do AWS IoT Greengrass V2.
-
Python
3.6 ou posterior, inclusive pip
para sua versão do Python, instalada em seu dispositivo principal. -
O tempo de execução do API GLX OpenGL
libgl1-mesa-glx
() instalado em seu dispositivo principal. -
Um usuário AWS Identity and Access Management (IAM) com permissões de administrador.
-
Um computador de desenvolvimento compatível com a Internet, Windows, Mac ou Unix que atenda aos seguintes requisitos:
-
Python
3.6 ou posterior instalado. -
AWS CLI instalado e configurado com suas credenciais de usuário IAM administrador. Para obter mais informações, consulte Instalando o AWS CLI e configurando o. AWS CLI
-
-
Os seguintes buckets do S3 foram criados no mesmo dispositivo principal do Greengrass Conta da AWS e Região da AWS que são criados no mesmo dispositivo principal:
-
Um bucket do S3 para armazenar os artefatos incluídos na inferência de amostra e nos componentes do modelo. Este tutorial usa amzn-s3-demo-bucket1 para se referir a esse bucket.
-
Um bucket S3 que você associa à sua frota de dispositivos de SageMaker ponta. SageMaker O Edge Manager requer um bucket S3 para criar a frota de dispositivos de ponta e armazenar dados de amostra da execução de inferência em seu dispositivo. Este tutorial usa amzn-s3-demo-bucket2 para se referir a esse bucket.
Para obter informações sobre a criação de buckets do S3, consulte Introdução ao Amazon S3.
-
-
A função do dispositivo Greengrass foi configurada com o seguinte:
-
Uma relação de confiança que permite
credentials.iot.amazonaws.com
e assumesagemaker.amazonaws.com
a função, conforme mostrado no exemplo de IAM política a seguir.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "credentials.iot.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
A política AmazonSageMakerEdgeDeviceFleetPolicy
IAMgerenciada. -
A política AmazonSageMakerFullAccess
IAMgerenciada. -
A
s3:GetObject
ação para o bucket do S3 que contém os artefatos do seu componente, conforme mostrado no exemplo de IAM política a seguir.{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1/*" ], "Effect": "Allow" } ] }
-
Configure seu dispositivo principal do Greengrass no SageMaker Edge Manager
As frotas de dispositivos SageMaker Edge no Edge Manager são coleções de dispositivos agrupados logicamente. Para usar o SageMaker Edge Manager com AWS IoT Greengrass, você deve criar uma frota de dispositivos de borda que use o mesmo alias de AWS IoT função do dispositivo principal do Greengrass no qual você implanta SageMaker o agente do Edge Manager. Em seguida, você deve registrar o dispositivo principal como parte dessa frota.
Crie uma frota de dispositivos de ponta
Para criar uma frota de dispositivos de ponta (console)
-
No SageMaker console da Amazon
, escolha Edge Manager e, em seguida, escolha Frotas de dispositivos Edge. -
Na página Frotas de dispositivos, escolha Criar frota de dispositivos.
-
Em Propriedades da frota de dispositivos, faça o seguinte:
-
Em Nome da frota de dispositivos, insira um nome para sua frota de dispositivos.
-
Para IAMfunção, insira o Amazon Resource Name (ARN) do alias de AWS IoT função que você especificou ao configurar seu dispositivo principal do Greengrass.
-
Desative a opção Criar alias de IAM função.
-
-
Escolha Próximo.
-
Em Configuração de saída, para bucket S3 URI, insira o URI bucket S3 que você deseja associar à frota de dispositivos.
-
Selecione Enviar.
Registre seu dispositivo principal do Greengrass
Para registrar seu dispositivo principal do Greengrass como um dispositivo de ponta (console)
-
No SageMaker console da Amazon
, escolha Edge Manager e, em seguida, escolha Dispositivos Edge. -
Na página Dispositivos, escolha Registrar dispositivos.
-
Em Propriedades do dispositivo, em Nome da frota de dispositivos, insira o nome da frota de dispositivos que você criou e escolha Avançar.
-
Escolha Próximo.
-
Em Fonte do dispositivo, em Nome do dispositivo, insira o AWS IoT nome do item do seu dispositivo principal do Greengrass.
-
Selecione Enviar.
Crie os componentes de amostra
Para ajudar você a começar a usar o componente SageMaker Edge Manager, AWS fornece um script Python GitHub que cria os componentes de inferência e modelo de amostra e os carrega no para você. Nuvem AWS Conclua as etapas a seguir em um computador de desenvolvimento.
Para criar os componentes de amostra
-
Baixe o repositório de exemplos de AWS IoT Greengrass componentes
em GitHub seu computador de desenvolvimento. -
Navegue até a
/machine-learning/sagemaker-edge-manager
pasta baixada.cd
download-directory
/machine-learning/sagemaker-edge-manager -
Execute o comando a seguir para criar e carregar os componentes de amostra no Nuvem AWS.
python3 create_components.py -r
region
-b amzn-s3-demo-bucketSubstituir
region
com o Região da AWS local onde você criou seu dispositivo principal do Greengrass e substitua amzn-s3-demo-bucket1 pelo nome do bucket do S3 para armazenar seus artefatos de componentes.nota
Por padrão, o script cria componentes de amostra para classificação de imagens e inferência de detecção de objetos. Para criar componentes somente para um tipo específico de inferência, especifique o
-i
argumento.ImageClassification | ObjectDetection
Componentes de inferência e modelo de amostra para uso com o SageMaker Edge Manager agora são criados em seu Conta da AWS. Para ver os componentes de amostra no AWS IoT Greengrass console
-
com.greengrass.SageMakerEdgeManager.ImageClassification
-
com.greengrass.SageMakerEdgeManager.ImageClassification.Model
-
com.greengrass.SageMakerEdgeManager.ObjectDetection
-
com.greengrass.SageMakerEdgeManager.ObjectDetection.Model
Execute uma amostra de inferência de classificação de imagens
Para executar a inferência de classificação de imagens usando os componentes AWS de amostra fornecidos e o agente do SageMaker Edge Manager, você deve implantar esses componentes em seu dispositivo principal. A implantação desses componentes baixa um modelo Resnet-50 pré-treinado e SageMaker compilado pela NEO e instala o agente Edge Manager em seu dispositivo. SageMaker O agente do SageMaker Edge Manager carrega o modelo e publica os resultados da inferência sobre o gg/sageMakerEdgeManager/image-classification
tópico. Para visualizar esses resultados de inferência, use o AWS IoT MQTT cliente no AWS IoT console para assinar este tópico.
Tópicos
Inscreva-se no tópico de notificações
Nesta etapa, você configura o AWS IoT MQTT cliente no AWS IoT console para observar as MQTT mensagens publicadas pelo componente de inferência de amostra. Por padrão, o componente publica resultados de inferência sobre o gg/sageMakerEdgeManager/image-classification
tópico. Inscreva-se neste tópico antes de implantar o componente em seu dispositivo principal do Greengrass para ver os resultados da inferência quando o componente é executado pela primeira vez.
Para se inscrever no tópico de notificações padrão
-
No menu de navegação do AWS IoT console
, escolha Testar, cliente MQTT de teste. -
Em Inscrever-se em um tópico, na caixa Nome do tópico, digite
gg/sageMakerEdgeManager/image-classification
. -
Escolha Assinar.
Implante os componentes de amostra
Nesta etapa, você configura e implanta os seguintes componentes em seu dispositivo principal:
-
aws.greengrass.SageMakerEdgeManager
-
com.greengrass.SageMakerEdgeManager.ImageClassification
-
com.greengrass.SageMakerEdgeManager.ImageClassification.Model
-
No menu de navegação do AWS IoT Greengrass console
, escolha Implantações e, em seguida, escolha a implantação do dispositivo de destino que você deseja revisar. -
Na página de implantação, escolha Revisar e, em seguida, escolha Revisar implantação.
-
Na página Especificar destino, escolha Próximo.
-
Na página Selecionar componentes, faça o seguinte:
-
Em Meus componentes, selecione os seguintes componentes:
-
com.greengrass.SageMakerEdgeManager.ImageClassification
-
com.greengrass.SageMakerEdgeManager.ImageClassification.Model
-
-
Em Componentes públicos, desative a opção Mostrar somente componentes selecionados e selecione o
aws.greengrass.SageMakerEdgeManager
componente. -
Escolha Próximo.
-
-
Na página Configurar componentes, selecione o
aws.greengrass.SageMakerEdgeManager
componente e faça o seguinte.-
Escolha Configurar componente.
-
Em Atualização de configuração, em Configuração a ser mesclada, insira a configuração a seguir.
{ "DeviceFleetName": "
device-fleet-name
", "BucketName": "amzn-s3-demo-bucket
" }Substituir
device-fleet-name
com o nome da frota de dispositivos de ponta que você criou e substituiuamzn-s3-demo-bucket
com o nome do bucket S3 associado à sua frota de dispositivos. -
Escolha Confirmar e, em seguida, Avançar.
-
-
Na página Definir configurações avançadas, mantenha as configurações padrão e escolha Avançar.
-
Na página Revisar, escolha Implantar
-
No seu computador de desenvolvimento, crie um
deployment.json
arquivo para definir a configuração de implantação dos componentes do SageMaker Edge Manager. Esse arquivo deve se parecer com o exemplo a seguir.{ "targetArn":"
targetArn
", "components": { "aws.greengrass.SageMakerEdgeManager": { "componentVersion": "1.0.x
", "configurationUpdate": { "merge": "{\"DeviceFleetName\":\"device-fleet-name
\",\"BucketName\":\"amzn-s3-demo-bucket2
\"}" } }, "com.greengrass.SageMakerEdgeManager.ImageClassification": { "componentVersion": "1.0.x
", "configurationUpdate": { } }, "com.greengrass.SageMakerEdgeManager.ImageClassification.Model": { "componentVersion": "1.0.x
", "configurationUpdate": { } }, } }-
No
targetArn
campo,
substitua pelo Amazon Resource Name (ARN) da coisa ou grupo de coisas a ser destinado para a implantação, no seguinte formato:targetArn
-
Coisa:
arn:aws:iot:
region
:account-id
:thing/thingName
-
Grupo de coisas:
arn:aws:iot:
region
:account-id
:thinggroup/thingGroupName
-
-
No
merge
campo, substituadevice-fleet-name
com o nome da frota de dispositivos de ponta que você criou. Em seguida, substituaamzn-s3-demo-bucket2
com o nome do bucket S3 associado à sua frota de dispositivos. -
Substitua as versões dos componentes de cada componente pela versão mais recente disponível.
-
-
Execute o seguinte comando para implantar os componentes no dispositivo:
aws greengrassv2 create-deployment \ --cli-input-json file://
path/to/
deployment.json
A implantação pode levar vários minutos para ser concluída. Na próxima etapa, verifique o log do componente para verificar se a implantação foi concluída com êxito e para ver os resultados da inferência.
Veja os resultados da inferência
Depois de implantar os componentes, você pode visualizar os resultados da inferência no registro do componente no seu dispositivo principal do Greengrass e no cliente AWS IoT MQTT no AWS IoT console. Para assinar o tópico no qual o componente publica resultados de inferência, consulte. Inscreva-se no tópico de notificações
-
AWS IoT MQTTcliente — Para visualizar os resultados que o componente de inferência publica no tópico de notificações padrão, conclua as seguintes etapas:
-
No menu de navegação do AWS IoT console
, escolha Testar, cliente MQTT de teste. -
Em Assinaturas, escolha.
gg/sageMakerEdgeManager/image-classification
-
-
Registro do componente — Para visualizar os resultados da inferência no registro do componente, execute o comando a seguir em seu dispositivo principal do Greengrass.
sudo tail -f
/logs/com.greengrass.SageMakerEdgeManager.ImageClassification.log/greengrass/v2
Se você não conseguir ver os resultados da inferência no log do componente ou no MQTT cliente, a implantação falhou ou não atingiu o dispositivo principal. Isso pode ocorrer se seu dispositivo principal não estiver conectado à Internet ou não tiver as permissões corretas para executar o componente. Execute o comando a seguir em seu dispositivo principal para visualizar o arquivo de log do software AWS IoT Greengrass principal. Esse arquivo inclui registros do serviço de implantação do dispositivo principal do Greengrass.
sudo tail -f
/logs/greengrass.log
/greengrass/v2
Para obter mais informações, consulte Solução de problemas de inferência de aprendizado de máquina.