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.
  • Usando o AutoML Vision para criar seu conjunto de dados, treine um modelo personalizado do AutoML Vision Edge e faça uma previsão.
  • Como exportar e implantar o modelo do AutoML Vision Edge.

Antes de começar

Configurar o projeto

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

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

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

    Acesse a página do seletor de projetos

  3. Verifique se o faturamento foi ativado no projeto do Google Cloud Platform. Saiba como confirmar que o faturamento está ativado para seu projeto.

  4. Ative a(s) Cloud AutoML and Storage APIs necessária(s).

    Ativar a(s) 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 código.
  9. Adicione você e sua conta de serviço ao papel do IAM de editor do AutoML.
    1. Substitua your-userid@your-domain pela sua conta de usuário.
    2. Substitua service-account-name pelo nome da sua 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="user:your-userid@your-domain" \
       --role="roles/automl.admin"
    gcloud projects add-iam-policy-binding $PROJECT_ID \
       --member="serviceAccount:service-account-name" \
       --role="roles/automl.editor"
    

Criar um intervalo 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 intervalo do Cloud Storage:

  1. Abra o Cloud Shell.

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

    gsutil mb -p project-id -c regional -l us-central1 gs://project-id-vcm/

    Estrutura recomendada para os arquivos do Cloud Storage:

    gs://project-id-vcm/dataset-name/documents/document-name.txt

Copiar imagens de amostra para seu intervalo

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 intervalo público do Cloud Storage para que você possa copiá-las diretamente de lá ao seu próprio intervalo.

  1. Na 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 intervalo:

    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 intervalo:

    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 intervalo 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 ele. Clique no sinal de adição ("+") para continuar.

    Novo campo de nome do conjunto de dados

  3. Especifique o URI do Cloud Storage do seu arquivo CSV. Para este guia de início rápido, o arquivo CSV está em gs://your-project-123-vcm/csv/all_data.csv. Substitua your-project-123 pelo código do projeto específico.

  4. Clique em Criar conjunto de dados. O processo de importação leva alguns minutos. Quando ele 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. É possível filtrar imagens por rótulo selecionando uma em Filtrar rótulos. Se você estiver usando o conjunto de dados de flores, verá um alerta sobre imagens repetidas ou com vários rótulos (se o rótulo múltiplo não estiver ativado).

    Filtrar por exemplo de rótulo

    • É possível adicionar mais imagens e atualizar rótulos para imagens novas e atuais depois de importar um arquivo CSV.

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 TREINAR NOVO MODELO para continuar.

    Opção Treinar novo modelo

    Isso abrirá uma janela pop-up com opções de treinamento.

  3. Na janela pop-up de treinamento, selecione 1. "Edge" do tipo de modelo. Em seguida, selecione o modelo otimizado para 2. "Melhores trocas" e 3. orçamento de horas de nó.

    Treinar modelo do Edge

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

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

Quando o treinamento estiver concluído, será possível consultar as métricas de avaliação, bem como testar e usar o modelo.

Selecione a guia Avaliar para ver mais detalhes sobre as pontuações F1, Precisão e Recall.

Selecione um rótulo individual em Filtrar rótulos para mais detalhes sobre verdadeiros positivos, falsos negativos e falsos positivos.

Fazer uma previsão

Selecione a guia Prever para ver instruções sobre o envio de uma imagem ao seu modelo para uma previsão. Para mais exemplos, consulte Como anotar imagens.

Exportar e implantar o modelo do Edge

A etapa final para usar um modelo do AutoML Vision Edge é exportar (otimizar e fazer o download) e implantar (usar) seu 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. Em Use seu modelo de Borda, selecione a guia TFLite.

    Exportar modelo do TF Lite

  2. Selecione Exportar para exportar um pacote do TF Lite para o intervalo de armazenamento do Cloud Storage. O processo de exportação normal leva vários minutos.

  3. Depois que a exportação for concluída, selecione o link do Cloud Storage e ele direcionará para a pasta de destino do Google Cloud Storage no Console do Google Cloud Platform.

No local de destino do Google Cloud Storage, você encontrará uma pasta nomeada com o carimbo de data e hora e o formato do modelo, em que é possível encontrar 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

  • Também é possível exportar o modelo como TensorFlow SavedModel e usá-lo com um contêiner Docker na guia Contêiner. Consulte o tutorial do contêiner sobre como exportar para um contêiner.
  • É possível exportar o modelo para execução na TPU do Edge na guia Dispositivos Edge. Em seguida, siga a documentação oficial do Coral sobre como executar uma inferência na TPU do Edge.
  • Consulte check_box Formatar modelo para Core ML (iOS/macOS) antes para treinar um modelo compatível com CoreML. Após o treinamento, é possível exportar o modelo na guia CoreML e seguir o tutorial do CoreML.