Guia de início rápido do modelo de dispositivos do Edge

Neste guia de início rápido, abordamos os seguintes processos:

  • Como copiar um conjunto de imagens para o Google Cloud Storage.
  • Como criar um CSV listando imagens e os rótulos delas.
  • Como usar o AutoML Vision para criar um conjunto de dados, treinar um modelo personalizado do AutoML Vision Edge e fazer uma previsão.
  • Como exportar e implantar o modelo do AutoML Vision Edge.

Antes de começar

Criar o projeto

  1. Faça login na sua conta do Google.

    Se você ainda não tiver uma, inscreva-se.

  2. No Console do Cloud, na página do seletor de projetos, selecione ou crie um projeto do Cloud.

    Acessar a página do seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud. Saiba como confirmar se a cobrança está ativada para o seu projeto.

  4. Ative as APIs AutoML and Cloud Storage.

    Ative as APIs

  5. Instale a ferramenta de linha de comando gcloud.
  6. Siga as instruções para criar uma conta de serviço e fazer o download de um arquivo de chave para a conta.
  7. Defina a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS para o caminho até o arquivo de chave da conta de serviço que você salvou quando criou essa conta.
    export GOOGLE_APPLICATION_CREDENTIALS=key-file
  8. Defina a variável de ambiente PROJECT_ID como seu ID do projeto.
    export PROJECT_ID=your-project-id
    As chamadas de API AutoML e os nomes dos recursos incluem seu código do projeto. A variável de ambiente PROJECT_ID é uma maneira conveniente de especificar o ID.
  9. Se você for o proprietário do projeto, adicione sua conta de serviço ao papel do IAM Editor do AutoML, substituindo service-account-name pelo nome da nova conta de serviço. Por exemplo, service-account1@myproject.iam.gserviceaccount.com.
    gcloud auth login
    gcloud projects add-iam-policy-binding $PROJECT_ID \
       --member="serviceAccount:service-account-name" \
       --role="roles/automl.editor"
    
  10. Se você não for proprietário do projeto, peça para ele adicionar seu ID do usuário e sua conta de serviço ao papel do IAM de Editor do AutoML.

Criar um bucket do Cloud Storage

Use o Cloud Shell, uma linha de comando do Linux baseada em navegadores conectados ao seu projeto do Console do Cloud, para criar seu bucket do Cloud Storage:

  1. Abra o Cloud Shell.

  2. Crie um bucket do Google Cloud Storage. O nome do bucket precisa estar no formato: project-id-vcm. O comando a seguir cria um bucket de armazenamento denominado project-id-vcm na região us-central1. Para ver uma lista completa das regiões disponíveis, consulte a página Locais de buckets.

    gsutil mb -p ${PROJECT_ID} -c regional -l us-central1 gs://${PROJECT_ID}-vcm/

  3. Defina a variável BUCKET.

    export BUCKET=${PROJECT_ID}-vcm

Copiar imagens de amostra para seu bucket

Em seguida, copie o conjunto de dados de flores usado nesta postagem do blog do Tensorflow (em inglês). As imagens são armazenadas em um bucket público do Cloud Storage para que você possa copiá-las diretamente de lá para seu próprio bucket.

  1. Na sua sessão do Cloud Shell, insira:

    gsutil -m cp -R gs://cloud-ml-data/img/flower_photos/ gs://${BUCKET}/img/
    

    A cópia do arquivo leva cerca de 20 minutos para ser concluída.

Criar o arquivo CSV

O conjunto de dados de amostra contém um arquivo CSV com todos os locais de imagem e os rótulos para cada imagem. Você usará isso para criar seu próprio arquivo CSV:

  1. Atualize o arquivo .csv para apontar para os arquivos em seu próprio bucket:

    gsutil cat gs://${BUCKET}/img/flower_photos/all_data.csv | sed "s:cloud-ml-data:${BUCKET}:" > all_data.csv
    
  2. Copie o arquivo CSV para seu bucket:

    gsutil cp all_data.csv gs://${BUCKET}/csv/
    

Criar seu conjunto de dados

Acesse a IU do AutoML Vision para iniciar o processo de criação do conjunto de dados e treinar seu modelo.

Quando solicitado, selecione o projeto usado para o bucket do Cloud Storage.

  1. Na página do AutoML Vision, clique em Novo conjunto de dados:

    Novo botão do conjunto de dados no console

  2. Especifique um nome para esse conjunto de dados (opcional). Selecione Criar conjunto de dados para continuar o processo de criação do conjunto de dados.

    Novo campo de nome do conjunto de dados

  3. Na tela Selecionar arquivos para importar, escolha a opção Selecionar um arquivo CSV no Cloud Storage. Especifique o URI do Cloud Storage do seu arquivo CSV. Para este guia de início rápido, o arquivo CSV está em:

    • gs://${PROJECT_ID}-vcm/csv/all_data.csv

    Substitua PROJECT_ID pelo ID do projeto específico.

    Selecionar a janela

  4. Clique em Continuar para iniciar a importação da imagem. O processo de importação leva alguns minutos. Quando estiver concluído, você será direcionado para a próxima página, que contém detalhes sobre todas as imagens identificadas para seu conjunto de dados, tanto imagens rotuladas como não rotuladas.

    Imagens listadas após a conclusão da importação

Treinar o modelo

  1. Depois que o conjunto de dados tiver sido criado e processado, selecione a guia Treinar para iniciar o treinamento do modelo.

    selecionar guia Treinar

  2. Selecione Iniciar treinamento para continuar. Isso abrirá uma janela Treinar novo modelo com opções de treinamento.

  3. Na seção Definir o modelo da nova janela de treinamento de modelo, altere o nome do modelo (opcional) e selecione a opção Edge. Selecione Continuar para ir à seção a seguir.

    Definir a seção do modelo para treinamento

  4. Na seção Otimizar modelo para, aceite a opção Melhor resultado e selecione Continuar.

  5. Na seção Definir um orçamento por hora de uso do nó, aceite o orçamento do nó sugerido (quatro horas de uso do nó).

    Treinar modelo do Edge

  6. Selecione "Iniciar treinamento" para começar o treinamento do modelo.

    O treinamento é iniciado para seu modelo. Esse processo leva cerca de uma hora. O treinamento pode ser interrompido antes da hora de uso do nó selecionada. O serviço enviará um e-mail para você assim que o treinamento for concluído ou se ocorrer algum erro.

Implantar o modelo

Antes de exportar o modelo, é preciso implantá-lo para uso.

  1. Para implantar o modelo, selecione a guia Testar e usar. Na guia, clique na opção Implantar modelo ao lado do nome do modelo.

  2. Na janela seguinte, especifique um nó em que implantar e selecione Implantar para iniciar o processo de implantação do modelo.

    Escolher horas de uso de nó para implantar

Você receberá uma notificação quando a implantação do modelo for concluída.

Exportar o modelo

A etapa final para usar um modelo do AutoML Vision Edge é exportar (otimizar e fazer o download) e implantar (usar) o modelo.

Há várias maneiras de exportar e implantar seus modelos para uso na previsão em dispositivos Edge.

Neste guia de início rápido, você usará o Tensorflow Lite (TF Lite) como exemplo. Os modelos do TF Lite são fáceis de usar e têm um amplo conjunto de casos de uso.

  1. Na seção Usar seu modelo da guia Testar e usar, selecione a opção TF Lite.

    Exportar modelo do TF Lite

  2. Na janela Exportar pacote do TF Lite para que você será direcionado, especifique um local do bucket do Cloud Storage para o qual exportar um pacote do TF Lite e selecione Exportar. O processo de exportação costuma levar vários minutos.

    Janela lateral

No local de destino do Google Cloud Storage, você encontrará uma pasta com carimbo de data e hora e formato de modelo, que conterá os seguintes arquivos:

  • Um arquivo tflite (model.tflite)
  • Um arquivo de dicionário (dict.txt)
  • Um arquivo de metadados (tflite_metadata.json)

A seguir

Com esses arquivos, é possível seguir tutoriais para implantar em dispositivos Android, dispositivos iOS, no Raspberry Pi 3 (em inglês) ou na Web.

Outras opções de uso do modelo

  • É possível exportar o modelo como um modelo compatível com CoreML (iOS/macOS). Após o treinamento, é possível exportar o modelo selecionando a opção CoreML na guia Testar e usar e seguindo o tutorial do CoreML.
  • É possível exportar o modelo para execução no Edge TPU. Após o treinamento, é possível exportar o modelo selecionando a opção Coral na guia Testar e usar. Depois de exportar o modelo, siga a documentação oficial do coral sobre como executar uma inferência no TPU do Edge.
  • É possível exportar o modelo como SavedModel do TensorFlow e usá-lo com um contêiner do Docker. Após o treinamento, é possível exportar o modelo selecionando a opção Contêiner na guia Testar e usar e seguindo o tutorial de contêineres de borda sobre como exportar a um contêiner.
  • É possível exportar o modelo para uso em um navegador ou no Node.js como um modelo do Tensorflow.js. Após o treinamento, é possível exportar o modelo selecionando a opção Tensorflow.js na guia Testar e usar e seguindo o tutorial do TensorFlow.js para Edge.

Limpar

É possível excluir seu modelo personalizado ou conjunto de dados se você não precisa mais deles.

Para evitar cobranças desnecessárias do Google Cloud Platform, use o Console do GCP para excluir o projeto se ele não for necessário.

Remover a implantação do modelo

O modelo gera cobranças enquanto está implantado.

  1. Selecione a guia Testar e usar logo abaixo da barra de título.
  2. Selecione Remover implantação no banner abaixo do nome do seu modelo para abrir a janela relacionada.

    Menu pop-up de remover implantação

  3. Selecione Remover implantação para remover a implantação do modelo.

    Implantação do modelo

  4. Você receberá um e-mail quando a remoção da implantação do modelo for concluída.

Excluir o projeto (opcional)

Para evitar cobranças desnecessárias do Google Cloud Platform, use o Console do Cloud para excluir o projeto se ele não for mais necessário.