Rotular imagens usando um modelo do AutoML Vision Edge
Este guia de início rápido aborda 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 (classificação de imagens ou detecção de objetos) e fazer uma previsão.
- Exportar e implantar o modelo do AutoML Vision Edge para um dos vários tipos de dispositivos de borda, como telefones celulares, dispositivos com processador ARM e a Coral Edge TPU.
Antes de começar
Configurar o projeto
- Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Crie ou selecione um projeto do Google Cloud.
-
Crie um projeto do Google Cloud:
gcloud projects create PROJECT_ID
Substitua
PROJECT_ID
por um nome para o projeto do Google Cloud que você está criando. -
Selecione o projeto do Google Cloud que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_ID
pelo nome do projeto do Google Cloud.
-
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative as APIs AutoML and Cloud Storage:
gcloud services enable storage-component.googleapis.com
automl.googleapis.com storage-api.googleapis.com - Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Crie ou selecione um projeto do Google Cloud.
-
Crie um projeto do Google Cloud:
gcloud projects create PROJECT_ID
Substitua
PROJECT_ID
por um nome para o projeto do Google Cloud que você está criando. -
Selecione o projeto do Google Cloud que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_ID
pelo nome do projeto do Google Cloud.
-
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative as APIs AutoML and Cloud Storage:
gcloud services enable storage-component.googleapis.com
automl.googleapis.com storage-api.googleapis.com - Defina a variável de ambiente
PROJECT_ID
como seu ID do projeto.export PROJECT_ID=PROJECT_ID
As chamadas de API AutoML e os nomes dos recursos incluem seu código do projeto. A variável de ambientePROJECT_ID
é uma maneira conveniente de especificar o ID.
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 Google Cloud, para criar seu bucket do Cloud Storage:
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 denominadoproject-id-vcm
na regiãous-central1
. Para ver uma lista completa das regiões disponíveis, consulte a página Locais de buckets.gcloud storage buckets create gs://${PROJECT_ID}-vcm/ --project=${PROJECT_ID} --location=us-central1
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. 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.
Na sua sessão do Cloud Shell, insira:
gcloud storage cp gs://cloud-samples-data/ai-platform/flowers/ gs://${BUCKET}/img/ --recursive
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:
Atualize o arquivo .csv para apontar para os arquivos em seu próprio bucket:
gcloud storage cat gs://${BUCKET}/img/flowers/all_data.csv | sed "s:cloud-ml-data/img/flower_photos/:${BUCKET}/img/flowers/:" > all_data.csv
Copie o arquivo CSV para seu bucket:
gcloud storage 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.
Na página do AutoML Vision, clique em Novo conjunto de dados:
Especifique um nome para esse conjunto de dados (opcional), selecione o objetivo do modelo e clique em Criar conjunto de dados para continuar o processo de criação do conjunto de dados.
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.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.
Treinar o modelo
Depois que o conjunto de dados tiver sido criado e processado, selecione a guia Treinar para iniciar o treinamento do modelo.
Selecione Iniciar treinamento para continuar. Isso abrirá uma janela Treinar novo modelo com opções de treinamento.
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.Na seção Otimizar modelo para, aceite a opção
Melhor resultado e selecione Continuar.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ó).
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 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.
Para implantar o modelo, selecione a guia Testar e usar. Na guia, clique na opção Implantar modelo ao lado do nome do modelo.
Na janela seguinte, especifique um nó em que implantar e selecione Implantar para iniciar o processo de implantação do modelo.
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 TF Lite são fáceis de usar e têm um amplo conjunto de casos de uso.
Na seção Usar seu modelo da guia Testar e usar, selecione a opção TF Lite.
Na janela Exportar pacote do TF Lite, especifique um local de bucket do Cloud Storage para exportar um pacote do TF Lite e selecione Exportar. O processo de exportação normal leva vários minutos.
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
)
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, exclua o projeto do Google Cloud com esses recursos.
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 CoreML e seguindo o tutorial do CoreML.
- É possível exportar o modelo para execução na Coral Edge TPU. Após o treinamento, exporte o modelo selecionando a opção Coral na guia Testar e usar. No entanto, devido à incompatibilidade atual com nosso modelo de detecção de objetos, recomendamos que você exporte apenas modelos de classificação de imagem para a Edge TPU (para treinar um modelo de detecção de objetos para a Edge TPU, siga um destes tutoriais do Google Colab). Depois de exportar o modelo, siga a documentação oficial do Coral sobre como executar uma inferência na Edge TPU.
- É 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 Tensorflow.js e seguindo o tutorial do TensorFlow.js para Edge.
Limpeza
É 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.
- Selecione a guia Testar e usar logo abaixo da barra de título.
- Selecione Remover implantação no banner abaixo do nome do modelo para abrir a janela relacionada.
- Selecione Remover implantação para remover a implantação do modelo.
- 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 Google Cloud para excluir o projeto se ele não for mais necessário.