arrow_back

Como classificar imagens de nuvens no Cloud com o AutoML Images

Como classificar imagens de nuvens no Cloud com o AutoML Images

1 hora 5 créditos

GSP223

Laboratórios autoguiados do Google Cloud

Visão geral

O AutoML ajuda desenvolvedores com pouca experiência em ML a treinar modelos de alta qualidade para reconhecimento de imagem. Depois de fazer o upload de imagens na IU do AutoML, você poderá treinar um modelo que ficará imediatamente disponível no Google Cloud para gerar previsões por meio de uma API REST fácil de usar.

Neste laboratório, você aprenderá a fazer upload de imagens no Cloud Storage e a usá-las para treinar um modelo personalizado que reconheça diferentes tipos de nuvens: cumulus, cumulonimbus etc.

O que você aprenderá

Veja abaixo as atividades que você vai fazer neste laboratório:

  • Fazer upload de um conjunto de dados rotulado no Cloud Storage e conectá-lo ao AutoML com um arquivo CSV de rótulos.

  • Treinar e avaliar a acurácia de um modelo com o AutoML.

  • Gerar previsões no modelo treinado.

Configuração e requisitos

Antes de clicar no botão Start Lab

Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o laboratório e mostra por quanto tempo os recursos do Google Cloud ficarão disponíveis.

Este laboratório prático do Qwiklabs permite que você realize as atividades em um ambiente real de nuvem, não em uma simulação ou demonstração. Você receberá novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.

O que é necessário

Para fazer este laboratório, você precisa ter:

  • acesso a um navegador de Internet padrão (recomendamos o Chrome);
  • tempo para concluir as atividades.

Observação: não use seu projeto ou sua conta do Google Cloud neste laboratório.

Observação: se estiver usando um dispositivo Chrome OS, abra uma janela anônima para executar o laboratório.

Como iniciar seu laboratório e fazer login no console do Google Cloud

  1. Clique no botão Começar o laboratório. Se for preciso pagar, você verá um pop-up para selecionar a forma de pagamento. No painel Detalhes do laboratório à esquerda, você verá o seguinte:

    • O botão Abrir Console do Cloud
    • Tempo restante
    • As credenciais temporárias que você vai usar neste laboratório
    • Outras informações se forem necessárias
  2. Clique em Abrir Console do Google. O laboratório ativa recursos e depois abre outra guia com a página Fazer login.

    Dica: coloque as guias em janelas separadas lado a lado.

    Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta.
  3. Caso seja preciso, copie o Nome de usuário no painel Detalhes do laboratório e cole esse nome na caixa de diálogo Fazer login. Clique em Avançar.

  4. Copie a Senha no painel Detalhes do laboratório e a cole na caixa de diálogo Olá. Clique em Avançar.

    Importante: você precisa usar as credenciais do painel à esquerda. Não use suas credenciais do Google Cloud Ensina. Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
  5. Acesse as próximas páginas:

    • Aceite os Termos e Condições.
    • Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
    • Não se inscreva em testes gratuitos.

Depois de alguns instantes, o console do GCP vai ser aberto nesta guia.

Observação: para ver uma lista dos produtos e serviços do Google Cloud, clique no Menu de navegação no canto superior esquerdo. Ícone do menu de navegação

Ative o Google Cloud Shell

O Google Cloud Shell é uma máquina virtual com ferramentas de desenvolvimento. Ele conta com um diretório principal permanente de 5 GB e é executado no Google Cloud. O Google Cloud Shell permite acesso de linha de comando aos seus recursos do GCP.

  1. No Console do GCP, na barra de ferramentas superior direita, clique no botão Abrir o Cloud Shell.

    Ícone do Cloud Shell

  2. Clique em Continue (continuar):

    cloudshell_continue

Demora alguns minutos para provisionar e conectar-se ao ambiente. Quando você está conectado, você já está autenticado e o projeto é definido como seu PROJECT_ID . Por exemplo:

Terminal do Cloud Shell

gcloud é a ferramenta de linha de comando do Google Cloud Platform. Ele vem pré-instalado no Cloud Shell e aceita preenchimento com tabulação.

É possível listar o nome da conta ativa com este comando:

gcloud auth list

Saída:

ACTIVE: *
ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net
To set the active account, run:
    $ gcloud config set account `ACCOUNT`
	

É possível listar o ID de projeto com este comando:

gcloud config list project
	

Saída:

[core]
project = <project_ID>
	

Exemplo de saída:

[core]
project = qwiklabs-gcp-44776a13dea667a6
	

Tarefa 1: configure o AutoML

O AutoML oferece uma interface para todas as etapas do treinamento de um modelo de classificação de imagem e da geração de previsões nesse modelo. Para começar, ative a API Cloud AutoML.

  1. No menu de navegação, selecione APIs e serviços > Biblioteca.

  2. Na barra de pesquisa, digite "Cloud AutoML".

  3. Observe que a API Cloud AutoML mostra a mensagem API ativada.

  4. Em um novo navegador, abra a IU do AutoML.

Crie um bucket de armazenamento

  1. Execute o comando a seguir para criar um bucket de armazenamento:

gsutil mb -p $GOOGLE_CLOUD_PROJECT \ -c standard \ -l us-central1 \ gs://$GOOGLE_CLOUD_PROJECT-vcm/
  1. No console do Google Cloud, abra o menu de navegação e clique em Cloud Storage para abri-lo.

Clique em Verificar meu progresso para conferir o objetivo.

Crie um bucket do Cloud Storage

Tarefa 2: faça o upload das imagens de treinamento para o Cloud Storage

Para treinar um modelo que classifique imagens de nuvens, você precisa enviar dados de treinamento rotulados. Assim, o modelo pode entender melhor as características da imagem associadas aos diferentes tipos de nuvens. Neste exemplo, o modelo aprenderá a identificar três tipos de nuvens: cirrus, cumulus e cumulonimbus. Para usar o AutoML, você precisa colocar as imagens de treinamento no Cloud Storage.

  1. Antes de adicionar imagens da nuvem, crie uma variável de ambiente com o nome do bucket.

Execute o comando a seguir no Cloud Shell:

export BUCKET=$GOOGLE_CLOUD_PROJECT-vcm

As imagens de treinamento ficam disponíveis publicamente em um bucket do Cloud Storage.

  1. Use o utilitário de linha de comando do Cloud Storage gsutil para copiar as imagens de treinamento no bucket:

gsutil -m cp -r gs://spls/gsp223/images/* gs://${BUCKET}
  1. Quando a cópia das imagens estiver pronta, clique no botão Atualizar na parte superior do navegador do Cloud Storage e clique no nome do bucket. Você verá três pastas de fotos para cada um dos tipos de nuvens que serão classificadas.

Ao clicar nos arquivos de imagem em cada pasta, você verá as fotos que serão usadas no treinamento do modelo para cada tipo de nuvem.

Tarefa 3: crie um conjunto de dados

Agora que os dados de treinamento estão no Cloud Storage, o AutoML precisa ter acesso a eles. Crie um arquivo CSV em que cada linha contém um URL para uma imagem de treinamento e o rótulo associado à imagem. Esse arquivo CSV já foi criado, você só precisa atualizá-lo com o nome do seu bucket.

  1. Execute este comando para copiar o arquivo na sua instância do Cloud Shell:

gsutil cp gs://spls/gsp223/data.csv .
  1. Atualize o CSV com os arquivos que estão no projeto:

sed -i -e "s/placeholder/${BUCKET}/g" ./data.csv
  1. Agora faça upload desse arquivo no bucket do Cloud Storage:

gsutil cp ./data.csv gs://${BUCKET}
  1. Quando o comando terminar, clique no botão Atualizar na parte superior do navegador do Storage. Verifique se o arquivo data.csv está no bucket.

  2. Abra a guia Conjunto de dados do Vertex AI. A página vai ser parecida com esta:

Console do Google Cloud, página &quot;Conjuntos de dados&quot;

  1. Clique em + CRIAR na parte de cima do console.

  2. Digite "clouds" para o nome do conjunto de dados.

  3. Selecione Classificação de rótulo único.

Observação: nos seus projetos, use a classificação multiclasse.
  1. Clique em CRIAR.

  2. Escolha a opção Selecione os arquivos de importação do Cloud Storage e adicione o nome do arquivo ao URL do arquivo que você acabou de enviar: nome-do-bucket/data.csv

Para conseguir esse link facilmente, volte ao console do Cloud, clique no arquivo data.csv e vá até o campo "URI".

  1. Clique em CONTINUAR.

Poderá levar de 2 a 5 minutos para que as imagens sejam importadas. Quando a importação for concluída, será aberta uma página com todas as imagens do conjunto de dados.

Clique em Verificar meu progresso para conferir o objetivo.

Crie um conjunto de dados

Tarefa 4: inspecione as imagens

Quando a importação terminar, a guia Procurar será aberta, exibindo as imagens transferidas.

Blocos de imagens na página de imagens com guias

Filtre pelos rótulos no menu à esquerda. Por exemplo, clique em "cumulus" para analisar as imagens de treinamento.

Observação: se quiser criar um modelo de produção, serão necessárias pelo menos cem imagens por rótulo para garantir alta acurácia. Esta é apenas uma demonstração, então usamos somente 20 imagens para que o treinamento do modelo seja rápido.

Caso alguma imagem tenha sido rotulada incorretamente, clique nela para alterar o rótulo:

Imagem 12 de 50

Observação: para trabalhar com um conjunto de dados ainda não rotulado, o AutoML conta com um serviço manual interno de rotulagem.

Tarefa 5: treine o modelo

Agora você pode começar a treinar o modelo. O AutoML cuida disso automaticamente, sem que você precise escrever qualquer código do modelo.

  1. Para treinar o modelo de nuvens, clique em TREINAR NOVO MODELO.

  2. Na guia Método de treinamento, clique em Continuar.

  3. Na guia Detalhes do modelo, clique em Continuar.

  4. Na guia Explicabilidade, clique em Continuar.

  5. Na guia Computação e preços, defina as horas de uso do nó como 8.

  6. Clique em Iniciar treinamento.

Como se trata de um conjunto de dados pequeno, o processo só levará em média 25–30 minutos. Enquanto isso, prossiga para a próxima seção para usar um modelo pré-treinado.

Tarefa 6: gere previsões

As previsões podem ser geradas de várias maneiras. Neste laboratório, você usará a IU para fazer upload de imagens. Você verá como seus modelos classificam essas duas imagens (a primeira é a nuvem cirrus, e a segunda é a nuvem cumulonimbus).

  1. Volte ao terminal do Cloud Shell.

  2. Faça o download das imagens para o computador.

gsutil cp gs://spls/gsp223/examples/* .
  1. Veja o conteúdo dos arquivos de exemplo CLOUD1-JSON e CLOUD2-JSON.

{ "instances": [{ "content": "YOUR_IMAGE_BYTES" }], "parameters": { "confidenceThreshold": 0.5, "maxPredictions": 5 } }
  1. Copie o valor de "Endpoint" do painel do Qwiklabs em uma variável de ambiente.

ENDPOINT=$(gcloud run services describe automl-service --platform managed --region us-central1 --format 'value(status.url)')
  1. Digite este comando para solicitar uma previsão:

curl -X POST -H "Content-Type: application/json" $ENDPOINT/v1 -d "@${INPUT_DATA_FILE}" | jq A chamada acima solicita uma previsão ao AutoML. Mas os dados de entrada não foram especificados, então a solicitação vai falhar. O código de erro de HTTP 400 indica que os dados esperados não estão presentes.

Saída esperada:

{ "error": { "code": 400, "message": "Empty instances.", "status": "INVALID_ARGUMENT" } }

Teste rápido

Responda a este pequeno teste sobre os tópicos do laboratório para avaliar sua compreensão do AutoML. Use o que você aprendeu no laboratório para gerar previsões.

Imagem Cloud1-JSON

Vamos ver se o modelo consegue prever o tipo de nuvem na imagem:

  1. Defina CLOUD1-JSON como o arquivo de entrada.
INPUT_DATA_FILE=CLOUD1-JSON
  1. Digite este comando para solicitar uma previsão:

curl -X POST -H "Content-Type: application/json" $ENDPOINT/v1 -d "@${INPUT_DATA_FILE}" | jq

Imagem Cloud2-JSON

Vamos ver se o modelo consegue prever o tipo de nuvem na imagem:

  1. Defina CLOUD2-JSON como o arquivo de entrada.
INPUT_DATA_FILE=CLOUD2-JSON
  1. Digite este comando para solicitar uma previsão:

curl -X POST -H "Content-Type: application/json" $ENDPOINT/v1 -d "@${INPUT_DATA_FILE}" | jq

Parabéns!

Você aprendeu a treinar seu próprio modelo de machine learning personalizado e a gerar previsões nele por meio da interface do usuário da Web. Agora você tem tudo que precisa para treinar um modelo com seu próprio conjunto de dados de imagens.

Você:

  • Fez o upload das imagens de treinamento no Cloud Storage e criou um CSV para o AutoML encontrá-las.

  • Analisou os rótulos e treinou um modelo na IU do AutoML.

  • Gerou previsões sobre novas imagens de nuvens.

Termine a Quest

Este laboratório autoguiado faz parte das Quests Machine Learning APIs e Intro to ML: Image Processing. Uma Quest é uma série de laboratórios relacionados que formam um programa de aprendizado. Ao concluir uma Quest, você ganha um selo como reconhecimento da sua conquista. É possível publicar os selos e incluir um link para eles no seu currículo on-line ou nas redes sociais. Inscreva-se nesta Quest ou em outra que tenha este laboratório para receber os créditos de conclusão imediatamente. Consulte o catálogo do Google Cloud Ensina para ver todas as Quests disponíveis.

Comece o próximo laboratório

Continue sua Quest com o laboratório Detectar rótulos, rostos e pontos de referência em imagens com a API Cloud Vision ou confira estas sugestões:

Próximas etapas / Saiba mais

Treinamento e certificação do Google Cloud

...ajuda você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações ajudam você a validar e comprovar suas habilidades e conhecimentos das tecnologias do Google Cloud.

Manual atualizado em 10 de agosto de 2022

Laboratório testado em 10 de agosto de 2022

Copyright 2020 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.