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á.
Personalizar seus componentes de machine learning
Em AWS 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 Greengrass també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 machine learning 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 runtime 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 runtime como dependências de componentes de inferência personalizados.
-
Crie e adicione componentes de modelo personalizados ou componentes de runtime 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 console do AWS IoT Greengrass
{ "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 em Componentes de machine learning fornecidos pela AWS.
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 o AWS CLI, consulteCriar implantações.
Para implantar um componente de inferência pública modificado (console)
-
Faça login no console do AWS IoT Greengrass
. -
No menu de navegação, escolha Componentes.
-
Na página Componentes, na guia Componentes públicos, escolha o componente que 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 Adicionar atualizaçã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 chamada
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 aos valores padrão, especifique uma única string vazia
""
na caixa Redefinir caminhos. -
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.
Usar 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 runtime do modelo que você deseja substituir.
-
Modifique o parâmetro de configuração
ModelResourceKey
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 como carregar seus modelos para um bucket do S3, consulte Trabalhar com 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 mais informações sobre a função da aplicação, consulte Autorize os dispositivos principais a interagir com os serviços da AWS. -
No menu de navegação do console do AWS IoT Greengrass
, selecione Componentes. -
Recupere a fórmula 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 JSON receita 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 JSON como fonte do componente.
-
Na caixa Receita, cole a fórmula do componente que você copiou anteriormente.
-
Na fórmula, substitua 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 URI valor para o Amazon S3 URI do modelo que você deseja usar.
nota
Não mude o nome do componente.
-
-
Escolha Criar componente.
-
Faça upload do seu modelo em um bucket do S3. Para obter informações sobre como carregar seus modelos para um bucket do S3, consulte Trabalhar com 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 mais informações sobre a função da aplicação, consulte Autorize os dispositivos principais a interagir com os serviços da AWS. -
Execute o comando a seguir para recuperar a fórmula do componente da variante pública. Esse comando grava a fórmula do componente no arquivo de saída que você fornece em seu comando. Converta a string recuperada codificada em base64 em JSON ouYAML, 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 fórmula, substitua 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 URI valor para o Amazon S3 URI do modelo que você deseja usar.
nota
Não mude o nome do componente.
-
-
Execute o comando a seguir para criar um componente usando a fórmula 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 no Nuvem AWS. Você pode usar o Greengrass CLI para desenvolver, testar e implantar seu componente localmente antes de carregá-lo na nuvem. Para obter mais informações, consulte Desenvolva AWS IoT Greengrass componentes.
Para obter mais informações sobre a criação de componentes, consulte Desenvolva AWS IoT Greengrass componentes.
Criar componentes personalizados de machine learning
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 para o qual 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
Recuperar a fórmula de um componente público
Você pode usar a fórmula de um componente público existente de machine learning 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 pelo componente público e escolha-o.
-
Na página do componente, escolha Exibir fórmula.
-
-
Usando AWS CLI
Execute o comando a seguir para recuperar a fórmula do componente da variante pública. Esse comando grava a receita do componente no arquivo de YAML receita JSON ou que você fornece em seu comando.
Substitua os valores dos argumentos no comando da seguinte maneira.
-
. O nome do recurso da Amazon (ARN) do componente público.<arn>
-
. O formato no qual você deseja criar o arquivo de fórmula. Os valores compatíveis são<recipe-format>
JSON
eYAML
. -
. O nome da fórmula no formato<recipe-file>
.<component-name>
-<component-version>
-
Recuperar amostras de artefatos de componentes
Você pode usar os artefatos usados pelos componentes públicos de machine learning como modelos para criar seus artefatos de componentes personalizados, como código de inferência ou scripts de instalação em runtime.
Para visualizar os artefatos de amostra que estão incluídos nos componentes públicos de machine learning, 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 componente 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 o S3 URIs em sua receita de componentes. 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 Amazon S3 URI do seu código de inferência como um artefato em seu componente.
Para obter informações sobre como carregar conteúdo para um bucket do S3, consulte Trabalhar com 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 mais informações sobre a função da aplicação, consulte Autorize os dispositivos principais a interagir com os serviços da AWS.
Criar componentes personalizados
Você pode usar os artefatos e as fórmulas que você recuperou para criar seus componentes personalizados de machine learning. Para obter um exemplo, consulte Criar um componente de inferência personalizado.
Para obter informações detalhadas sobre a criação e implantação de componentes em dispositivos Greengrass, consulte Desenvolva AWS IoT Greengrass componentes e Implantar componentes AWS IoT Greengrass em dispositivos.
Criar 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 DLR imagens como modelo.
Tópicos
Fazer upload do código de inferência para um bucket do Amazon S3
Crie o código de inferência e, em seguida, faça upload para um bucket do S3. Para obter informações sobre como carregar conteúdo para um bucket do S3, consulte Trabalhar com 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 mais informações sobre a função da aplicação, consulte Autorize os dispositivos principais a interagir com os serviços da AWS.
Crie uma fórmula para o componente de inferência
-
Execute o comando a seguir para recuperar a receita do componente de classificação de DLR imagem. Esse comando grava a receita do componente no arquivo de YAML receita JSON ou que você fornece em seu comando.
<recipe-file>
Substitua pelo nome da receita no formato
.<component-name>
-<component-version>
-
No objeto
ComponentDependencies
em sua fórmula, faça um ou mais dos seguintes, dependendo do modelo e dos componentes de runtime que você deseja usar:-
Mantenha a dependência do DLR componente se quiser usar modelos DLR compilados. Você também pode substituí-lo por uma dependência de um componente de runtime personalizado, conforme mostrado no exemplo a seguir.
Componente de runtime
-
Mantenha a dependência do armazenamento do modelo de classificação de DLR imagens para usar os modelos ResNet -50 pré-treinados que AWS fornecem, ou modifique-a 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 AWS Regiã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 objeto
ComponentConfiguration
, 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 DLR imagem.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 objeto
Manifests
, 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 DLR imagens.
Para informações detalhadas sobre a criação de fórmulas de componentes, consulte AWS IoT Greengrass referência da receita do componente.
Criar 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, implante-o para realizar inferência no dispositivo. Para obter um exemplo de como implantar um componente de inferência, consulte Tutorial: realize uma inferência de classificação de imagens de amostra usando o TensorFlow Lite.
-
Faça login no console do AWS IoT Greengrass
. -
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 YAML como fonte de seu componente.
-
Na caixa Receita, insira a fórmula personalizada que você criou.
-
Clique em Criar componente.
Execute o seguinte comando para criar um novo componente personalizado usando a fórmula 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 no Nuvem AWS. Você pode usar o Greengrass CLI para desenvolver, testar e implantar seu componente localmente antes de carregá-lo na nuvem. Para obter mais informações, consulte Desenvolva AWS IoT Greengrass componentes.