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á.
Personalize seus componentes de aprendizado de máquina
EmAWS IoT Greengrass, você pode configurar exemplos de componentes de aprendizado de máquina para personalizar a forma como você executa a inferência de aprendizado de máquina em seus dispositivos com os componentes de inferência, modelo e tempo de execução como blocos de construção. AWS IoT Greengrasstambém oferece a flexibilidade de usar os componentes de amostra como modelos e criar seus próprios componentes personalizados conforme necessário. Você pode misturar e combinar essa abordagem modular para personalizar seus componentes de inferência de aprendizado de máquina das seguintes maneiras:
- Usando componentes de inferência de amostra
-
-
Modifique a configuração dos componentes de inferência ao implantá-los.
-
Use um modelo personalizado com o componente de inferência de amostra substituindo o componente de armazenamento de modelos de amostra por um componente de modelo personalizado. Seu modelo personalizado deve ser treinado usando o mesmo tempo de execução do modelo de amostra.
-
- Usando componentes de inferência personalizados
-
-
Use o código de inferência personalizado com os modelos de amostra e os tempos de execução adicionando componentes de modelo público e componentes de tempo de execução como dependências de componentes de inferência personalizados.
-
Crie e adicione componentes de modelo personalizados ou componentes de tempo de execução como dependências de componentes de inferência personalizados. Você deve usar componentes personalizados se quiser usar um código de inferência personalizado ou um tempo de execução para o qual AWS IoT Greengrass não forneça um componente de amostra.
-
Tópicos
Modificar a configuração de um componente de inferência pública
No AWS IoT Greengrassconsole
{ "accessControl": { "aws.greengrass.ipc.mqttproxy": { "aws.greengrass.TensorFlowLiteImageClassification:mqttproxy:1": { "policyDescription": "Allows access to publish via topic ml/tflite/image-classification.", "operations": [ "aws.greengrass#PublishToIoTCore" ], "resources": [ "ml/tflite/image-classification" ] } } }, "PublishResultsOnTopic": "ml/tflite/image-classification", "ImageName": "cat.jpeg", "InferenceInterval": 3600, "ModelResourceKey": { "model": "TensorFlowLite-Mobilenet" } }
Ao implantar um componente de inferência pública, você pode modificar a configuração padrão para personalizar sua implantação. Para obter informações sobre os parâmetros de configuração disponíveis para cada componente de inferência pública, consulte o tópico do componente emAWS-componentes de aprendizado de máquina fornecidos.
Esta seção descreve como implantar um componente modificado a partir do AWS IoT Greengrass console. Para obter informações sobre a implantação de componentes usando oAWS CLI, consulteCriar implantações.
Para implantar um componente de inferência pública modificado (console)
-
Faça login no AWS IoT Greengrassconsole
. -
No menu de navegação, escolha Componentes.
-
Na página Componentes, na guia Componentes públicos, escolha o componente que você deseja implantar.
-
Na página do componente, escolha Implantar.
-
Em Adicionar à implantação, escolha uma das seguintes opções:
-
Para mesclar esse componente a uma implantação existente em seu dispositivo de destino, escolha Adicionar à implantação existente e selecione a implantação que você deseja revisar.
-
Para criar uma nova implantação em seu dispositivo de destino, escolha Criar nova implantação. Se você tiver uma implantação existente em seu dispositivo, escolher essa etapa substituirá a implantação existente.
-
-
Na página Especificar destino, faça o seguinte:
-
Em Informações de implantação, insira ou modifique o nome amigável para sua implantação.
-
Em Destinos de implantação, selecione um alvo para sua implantação e escolha Avançar. Você não pode alterar o destino de implantação se estiver revisando uma implantação existente.
-
-
Na página Selecionar componentes, em Componentes públicos, verifique se o componente de inferência com sua configuração modificada está selecionado e escolha Avançar.
-
Na página Configurar componentes, faça o seguinte:
-
Selecione o componente de inferência e escolha Configurar componente.
-
Em Atualização de configuração, insira os valores de configuração que você deseja atualizar. Por exemplo, insira a seguinte atualização de configuração na caixa Configuração a ser mesclada para alterar o intervalo de inferência para 15 segundos e instrua o componente a procurar a imagem nomeada
custom.jpg
na pasta./custom-ml-inference/images/
{ "InferenceInterval": "15", "ImageName": "custom.jpg", "ImageDirectory": "/custom-ml-inference/images/" }
Para redefinir toda a configuração de um componente para seus valores padrão, especifique uma única string vazia
""
na caixa Redefinir caminhos. -
Escolha Confirmar e, em seguida, Avançar.
-
-
Na página Definir configuração avançada, mantenha as configurações padrão e escolha Avançar.
-
Na página Revisar, escolha Implantar
Use um modelo personalizado com o componente de inferência de amostra
Se você quiser usar o componente de inferência de amostra com seus próprios modelos de aprendizado de máquina para um tempo de execução que AWS IoT Greengrass forneça um componente de tempo de execução de amostra, substitua os componentes do modelo público por componentes que usam esses modelos como artefatos. Em um alto nível, você conclui as etapas a seguir para usar um modelo personalizado com o componente de inferência de amostra:
-
Crie um componente de modelo que use um modelo personalizado em um bucket do S3 como artefato. Seu modelo personalizado deve ser treinado usando o mesmo tempo de execução do modelo que você deseja substituir.
-
Modifique o parâmetro de
ModelResourceKey
configuração no componente de inferência para usar o modelo personalizado. Para obter informações sobre como atualizar a configuração do componente de inferência, consulte Modificar a configuração de um componente de inferência pública
Quando você implanta o componente de inferência, AWS IoT Greengrass procura a versão mais recente de suas dependências de componentes. Ele substitui o componente do modelo público dependente se uma versão personalizada posterior do componente existir no mesmo e. Conta da AWS Região da AWS
-
Faça upload do seu modelo em um bucket do S3. Para obter informações sobre o upload de seus modelos em um bucket do S3, consulte Como trabalhar com os buckets do Amazon S3 no Guia do usuário do Amazon Simple Storage Service.
nota
Você deve armazenar seus artefatos em buckets do S3 que estejam nos Região da AWS mesmos Conta da AWS componentes. Para permitir o AWS IoT Greengrass acesso a esses artefatos, a função do dispositivo Greengrass deve permitir
s3:GetObject
a ação. Para obter mais informações sobre a função do dispositivo, consulteAutorize os dispositivos principais a interagir com os serviços AWS. -
No menu de navegação AWS IoT Greengrassdo console
, escolha Componentes. -
Recupere a receita do componente público do repositório de modelos.
-
Na página Componentes, na guia Componentes públicos, procure e escolha o componente do modelo público para o qual você deseja criar uma nova versão. Por exemplo,
variant.DLR.ImageClassification.ModelStore
. -
Na página do componente, escolha Exibir receita e copie a receita JSON exibida.
-
-
Na página Componentes, na guia Meus componentes, escolha Criar componente.
-
Na página Criar componente, em Informações do componente, selecione Inserir receita como JSON como fonte do componente.
-
Na caixa Receita, cole a receita do componente que você copiou anteriormente.
-
Na receita, atualize os seguintes valores:
-
ComponentVersion
: incremente a versão secundária do componente.Ao criar um componente personalizado para substituir um componente de modelo público, você deve atualizar somente a versão secundária da versão existente do componente. Por exemplo, se a versão do componente público for
2.1.0
, você poderá criar um componente personalizado com a versão2.1.1
. -
Manifests.Artifacts.Uri
: atualize cada valor de URI para o URI do Amazon S3 do modelo que você deseja usar.
nota
Não altere o nome do componente.
-
-
Escolha Criar componente.
-
Faça upload do seu modelo em um bucket do S3. Para obter informações sobre o upload de seus modelos em um bucket do S3, consulte Como trabalhar com os buckets do Amazon S3 no Guia do usuário do Amazon Simple Storage Service.
nota
Você deve armazenar seus artefatos em buckets do S3 que estejam nos Região da AWS mesmos Conta da AWS componentes. Para permitir o AWS IoT Greengrass acesso a esses artefatos, a função do dispositivo Greengrass deve permitir
s3:GetObject
a ação. Para obter mais informações sobre a função do dispositivo, consulteAutorize os dispositivos principais a interagir com os serviços AWS. -
Execute o comando a seguir para recuperar a receita do componente público. Esse comando grava a receita do componente no arquivo de saída que você fornece em seu comando. Converta a string recuperada codificada em base64 em JSON ou YAML, conforme necessário.
-
Atualize o nome do arquivo de receita para
, onde a versão do componente é a versão de destino do novo componente. Por exemplo,<component-name>
-<component-version>
variant.DLR.ImageClassification.ModelStore-2.1.1.yaml
. -
Na receita, atualize os seguintes valores:
-
ComponentVersion
: incremente a versão secundária do componente.Ao criar um componente personalizado para substituir um componente de modelo público, você deve atualizar somente a versão secundária da versão existente do componente. Por exemplo, se a versão do componente público for
2.1.0
, você poderá criar um componente personalizado com a versão2.1.1
. -
Manifests.Artifacts.Uri
: atualize cada valor de URI para o URI do Amazon S3 do modelo que você deseja usar.
nota
Não altere o nome do componente.
-
-
Execute o comando a seguir para criar um novo componente usando a receita que você recuperou e modificou.
aws greengrassv2 create-component-version \ --inline-recipe fileb://
path/to/component/recipe
nota
Essa etapa cria o componente no AWS IoT Greengrass serviço noNuvem AWS. Você pode usar a CLI do Greengrass para desenvolver, testar e implantar seu componente localmente antes de carregá-lo na nuvem. Para ter mais informações, consulte Desenvolva AWS IoT Greengrass componentes.
Para obter mais informações sobre a criação de componentes, consulteDesenvolva AWS IoT Greengrass componentes.
Crie componentes personalizados de aprendizado de máquina
Você deve criar componentes personalizados se quiser usar um código de inferência personalizado ou um tempo de execução para o qual AWS IoT Greengrass não forneça um componente de amostra. Você pode usar seu código de inferência personalizado com os exemplos AWS de modelos e tempos de execução de aprendizado de máquina fornecidos, ou pode desenvolver uma solução de inferência de aprendizado de máquina totalmente personalizada com seus próprios modelos e tempo de execução. Se seus modelos usam um tempo de execução que AWS IoT Greengrass fornece um componente de tempo de execução de amostra, você pode usar esse componente de tempo de execução e precisa criar componentes personalizados somente para seu código de inferência e os modelos que deseja usar.
Tópicos
Recupere a receita de um componente público
Você pode usar a receita de um componente público existente de aprendizado de máquina como modelo para criar um componente personalizado. Para ver a receita do componente para a versão mais recente de um componente público, use o console ou o AWS CLI seguinte:
-
Como usar o console
-
Na página Componentes, na guia Componentes públicos, procure e escolha o componente público.
-
Na página do componente, escolha Exibir receita.
-
-
Como usar o AWS CLI
Execute o comando a seguir para recuperar a receita do componente da variante pública. Esse comando grava a receita do componente no arquivo de receita JSON ou YAML que você fornece em seu comando.
Substitua os valores em seu comando da seguinte forma:
-
. O Amazon Resource Name (ARN) do componente público.<arn>
-
. O formato no qual você deseja criar o arquivo de receita. Os valores compatíveis são<recipe-format>
JSON
eYAML
. -
. O nome da receita no formato<recipe-file>
.<component-name>
-<component-version>
-
Recupere amostras de artefatos de componentes
Você pode usar os artefatos usados pelos componentes públicos de aprendizado de máquina como modelos para criar seus artefatos de componentes personalizados, como código de inferência ou scripts de instalação em tempo de execução.
Para visualizar os artefatos de amostra que estão incluídos nos componentes públicos de aprendizado de máquina, implante o componente de inferência pública e, em seguida, visualize os artefatos em seu dispositivo na pasta.
/packages/artifacts-unarchived//greengrass/v2
component-name
/component-version
/
Carregar artefatos de componentes em um bucket do S3
Antes de criar um componente personalizado, você deve carregar os artefatos do componente em um bucket do S3 e usar os URIs do S3 na receita do componente. Por exemplo, para usar um código de inferência personalizado em seu componente de inferência, faça o upload do código em um bucket do S3. Em seguida, você pode usar o URI do Amazon S3 do seu código de inferência como um artefato em seu componente.
Para obter informações sobre o upload de conteúdo para um bucket do S3, consulte Como trabalhar com os buckets do Amazon S3 no Guia do usuário do Amazon Simple Storage Service.
nota
Você deve armazenar seus artefatos em buckets do S3 que estejam nos Região da AWS mesmos Conta da AWS componentes. Para permitir o AWS IoT Greengrass acesso a esses artefatos, a função do dispositivo Greengrass deve permitir s3:GetObject
a ação. Para obter mais informações sobre a função do dispositivo, consulteAutorize os dispositivos principais a interagir com os serviços AWS.
Crie componentes personalizados
Você pode usar os artefatos e receitas recuperados para criar seus componentes personalizados de aprendizado de máquina. Para ver um exemplo, consulte Crie um componente de inferência personalizado.
Para obter informações detalhadas sobre a criação e implantação de componentes em dispositivos Greengrass, Desenvolva AWS IoT Greengrass componentes consulte e. Implemente AWS IoT Greengrass componentes em dispositivos
Crie um componente de inferência personalizado
Esta seção mostra como criar um componente de inferência personalizado usando o componente de classificação de imagem DLR como modelo.
Tópicos
Faça upload do seu código de inferência em um bucket do Amazon S3
Crie seu código de inferência e, em seguida, carregue-o em um bucket do S3. Para obter informações sobre o upload de conteúdo para um bucket do S3, consulte Como trabalhar com os buckets do Amazon S3 no Guia do usuário do Amazon Simple Storage Service.
nota
Você deve armazenar seus artefatos em buckets do S3 que estejam nos Região da AWS mesmos Conta da AWS componentes. Para permitir o AWS IoT Greengrass acesso a esses artefatos, a função do dispositivo Greengrass deve permitir s3:GetObject
a ação. Para obter mais informações sobre a função do dispositivo, consulteAutorize os dispositivos principais a interagir com os serviços AWS.
Crie uma receita para seu componente de inferência
-
Execute o comando a seguir para recuperar a receita do componente de classificação de imagem DLR. Esse comando grava a receita do componente no arquivo de receita JSON ou YAML que você fornece em seu comando.
<recipe-file>Substitua pelo nome da receita no formato
.<component-name>
-<component-version>
-
No
ComponentDependencies
objeto em sua receita, faça um ou mais dos seguintes, dependendo do modelo e dos componentes de tempo de execução que você deseja usar:-
Mantenha a dependência do componente DLR se quiser usar modelos compilados pelo DLR. Você também pode substituí-lo por uma dependência em um componente de tempo de execução personalizado, conforme mostrado no exemplo a seguir.
Componente Runtime
-
Mantenha a dependência do armazenamento do modelo de classificação de imagem DLR para usar os modelos ResNet -50 pré-treinados que AWS fornecem, ou modifique-o para usar um componente de modelo personalizado. Quando você inclui uma dependência para um componente de modelo público, se uma versão personalizada posterior do componente existir no mesmo Conta da AWSRegião da AWS, o componente de inferência usará esse componente personalizado. Especifique a dependência do componente do modelo conforme mostrado nos exemplos a seguir.
Componente de modelo público
Componente de modelo personalizado
-
-
No
ComponentConfiguration
objeto, adicione a configuração padrão para esse componente. Posteriormente, você poderá modificar essa configuração ao implantar o componente. O trecho a seguir mostra a configuração do componente de classificação de imagem DLR.Por exemplo, se você usar um componente de modelo personalizado como uma dependência para seu componente de inferência personalizado, modifique
ModelResourceKey
para fornecer os nomes dos modelos que você está usando. -
No
Manifests
objeto, forneça informações sobre os artefatos e a configuração desse componente que são usados quando o componente é implantado em plataformas diferentes e qualquer outra informação necessária para executar o componente com êxito. O trecho a seguir mostra a configuração doManifests
objeto para a plataforma Linux no componente de classificação de imagem DLR.
Para obter informações detalhadas sobre a criação de receitas de componentes, consulteAWS IoT Greengrass referência da receita do componente.
Crie o componente de inferência
Use o AWS IoT Greengrass console ou o AWS CLI para criar um componente usando a receita que você acabou de definir. Depois de criar o componente, você pode implantá-lo para realizar inferências em seu dispositivo. Para obter um exemplo de como implantar um componente de inferência, consulteTutorial: Execute inferência de classificação de imagens de amostra usando o Lite TensorFlow .
-
Faça login no AWS IoT Greengrassconsole
. -
No menu de navegação, escolha Componentes.
-
Na página Componentes, na guia Meus componentes, escolha Criar componente.
-
Na página Criar componente, em Informações do componente, selecione Inserir receita como JSON ou Inserir receita como YAML como fonte do componente.
-
Na caixa Receita, insira a receita personalizada que você criou.
-
Clique em Criar componente.
Execute o comando a seguir para criar um novo componente personalizado usando a receita que você criou.
aws greengrassv2 create-component-version \ --inline-recipe fileb://
path/to/recipe/file
nota
Essa etapa cria o componente no AWS IoT Greengrass serviço noNuvem AWS. Você pode usar a CLI do Greengrass para desenvolver, testar e implantar seu componente localmente antes de carregá-lo na nuvem. Para ter mais informações, consulte Desenvolva AWS IoT Greengrass componentes.