Informações gerais
O AutoML na Vertex AI ajuda desenvolvedores com pouca experiência em ML a treinar modelos de alta qualidade para reconhecimento de imagens.
Depois de fazer o upload de imagens na interface do AutoML, você poderá treinar um modelo que vai estar 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 um modelo com o AutoML.
- Gerar previsões usando um modelo treinado.
Configuração e requisitos
Antes de clicar no botão "Começar o laboratório"
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 vão ficar disponíveis.
Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.
O que é necessário
Veja os requisitos para concluir o laboratório:
- acesso a um navegador de Internet padrão (recomendamos o Chrome);
- tempo disponível para concluir as atividades.
Observação: não use seu projeto ou conta pessoal do Google Cloud neste laboratório.
Observação: se você estiver usando um Pixelbook, faça o laboratório em uma janela anônima.
Fazer login no console do Google Cloud
- Na guia ou janela do navegador desta sessão de laboratório, copie o arquivo Nome de usuário do painel Detalhes da conexão e clique no botão Abrir console do Cloud.
Observação: se precisar escolher uma conta, clique em Usar outra conta.
- Cole o nome de usuário e a senha quando solicitado.
- Clique em Próxima.
- Aceite os Termos e Condições.
Como a conta é temporária, ela só dura até o final deste laboratório:
- não adicione opções de recuperação;
- não se inscreva em avaliações gratuitas.
- Assim que o console abrir, clique no menu de navegação (
) no canto superior esquerdo para acessar a lista de serviços.

Ativar o Cloud Shell
O Cloud Shell é uma máquina virtual que contém ferramentas para desenvolvedores. Ele tem um diretório principal permanente de 5 GB e é executado no Google Cloud. O Cloud Shell oferece aos seus recursos do Google Cloud acesso às linhas de comando. A gcloud
é a ferramenta ideal para esse tipo de operação no Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.
-
No painel de navegação do Console do Google Cloud, clique em Ativar o Cloud Shell (
).
-
Clique em Continuar.
O provisionamento e a conexão do ambiente podem demorar um pouco. Quando esses processos forem concluídos, você já vai ter uma autenticação, e o projeto estará definido com seu PROJECT_ID. Por exemplo:

Exemplo de comandos
gcloud auth list
(Saída)
Credentialed accounts:
- <myaccount>@<mydomain>.com (active)
(Exemplo de saída)
Credentialed accounts:
- google1623327_student@qwiklabs.net
gcloud config list project
(Saída)
[core]
project = <project_ID>
(Exemplo de saída)
[core]
project = qwiklabs-gcp-44776a13dea667a6
Tarefa 1: prepare para o AutoML
Crie um bucket de armazenamento
- Execute o comando a seguir para criar um bucket de armazenamento:
gcloud storage buckets create gs://$GOOGLE_CLOUD_PROJECT-vcm \
-c standard \
-l us-central1
- 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.
- Antes de adicionar imagens de nuvens, 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 estão disponíveis em um bucket público do Cloud Storage.
- Use o utilitário de linha de comando do Cloud Storage gcloud storage para copiar as imagens de treinamento no bucket:
gcloud storage cp -r gs://spls/gsp223/images/* gs://${BUCKET}
- 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.
- Execute este comando para copiar o arquivo na sua instância do Cloud Shell:
gcloud storage cp gs://spls/gsp223/data.csv .
- Atualize o CSV com os arquivos que estão no projeto:
sed -i -e "s/placeholder/${BUCKET}/g" ./data.csv
- Agora faça upload desse arquivo no bucket do Cloud Storage:
gcloud storage cp ./data.csv gs://${BUCKET}
-
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.
-
Abra a guia Conjunto de dados da Vertex AI. A página vai ser parecida com esta:

-
Clique em + CRIAR na parte de cima do console.
-
Digite clouds no nome do conjunto de dados.
-
Selecione Classificação de imagens (rótulo único).
Observação:
nos seus projetos, use a classificação multiclasse.
-
Clique em Criar.
-
Escolha a opção Selecionar arquivos de importação do Cloud Storage e adicione o nome do arquivo ao URL 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".
- 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.

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 100 imagens por rótulo para garantir alta acurácia. Como esta é apenas uma demonstração, foram usadas somente 20 imagens de cada tipo de nuvem para agilizar o treinamento do modelo.
Caso alguma imagem tenha sido rotulada incorretamente, clique nela para alterar o rótulo:

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.
-
Para treinar o modelo de nuvens, clique em TREINAR NOVO MODELO.
-
Na guia Método de treinamento, clique em Continuar.
-
Na guia Detalhes do modelo, clique em Continuar.
-
Na guia Opções de treinamento, clique em Continuar.
-
Na guia Explicabilidade, clique em Continuar.
-
Na guia Computação e preços, defina as horas de uso do nó como 8.
Observação: nesta etapa, clique em Iniciar treinamento. Como o treinamento pode levar até 120 minutos para ser concluído, passe para a próxima tarefa, em que você vai usar um modelo pré-treinado.
- Clique em Cancelar e passe para a próxima tarefa.
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).
-
Volte ao terminal do Cloud Shell.
-
Faça o download das imagens para o computador.
gcloud storage cp gs://spls/gsp223/examples/* .
- Os arquivos de exemplo contêm imagens de nuvens codificadas em Base64. Confira abaixo uma versão modificada do arquivo CLOUD1-JSON.
{
"instances": [{
"content":
"/9j/4AAQSkZJRgABAQAAAQABAAD2wCEAAUDBA0PDQ0NDQ0NDQ0NDQ0NDQ0
Q0ODQ0NDRUNDhERExMTDQ0WGBYSGBASExIBBQUFCAcIDwkJDxUVDxUVFRUV
RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFf/AABEIAeACgAMB
aAAwDAQACEQMRAD8A+bzIcyW{{{{CONTENT REMOVED}}}aQDRJlsFBNCVq
TqyIrhaQDRJlsFBNCVqjTqyIrhaQDRJlsFBNCVqjTqyIrhaQDRdkslFDpL9
tUVQXCuAAAsJoKCiYkSp//9k="
}],
"parameters": {
"confidenceThreshold": 0.5,
"maxPredictions": 5
}
}
- Copie o valor de "Endpoint" do modelo do AutoML pré-implantado em uma variável de ambiente.
ENDPOINT=$(gcloud run services describe automl-service --platform managed --region us-central1 --format 'value(status.url)')
- 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.

Verifique se o modelo consegue prever o tipo de nuvem na imagem:
- Defina
CLOUD1-JSON
como o arquivo de entrada.
INPUT_DATA_FILE=CLOUD1-JSON
- Digite este comando para solicitar uma previsão:
curl -X POST -H "Content-Type: application/json" $ENDPOINT/v1 -d "@${INPUT_DATA_FILE}" | jq
- A mensagem retornada vai confirmar que é uma nuvem do tipo cirrus.
"displayNames": [
"cirrus"
]
- Teste outra previsão.

Vamos ver se o modelo consegue prever o tipo de nuvem na imagem:
- Defina
CLOUD2-JSON
como o arquivo de entrada.
INPUT_DATA_FILE=CLOUD2-JSON
- Digite este comando para solicitar uma previsão:
curl -X POST -H "Content-Type: application/json" $ENDPOINT/v1 -d "@${INPUT_DATA_FILE}" | jq
- A mensagem retornada vai confirmar que é uma nuvem do tipo cumulonimbus.
"displayNames": [
"cumulonimbus"
]
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 no seu próprio conjunto de dados de imagens.
O que vimos
- Como fazer o upload das imagens de treinamento no Cloud Storage e criar um CSV para que o AutoML Vision as encontre
- Como analisar rótulos e treinar um modelo na IU do AutoML Vision
- Como gerar previsões em novas imagens de nuvem
Próximas etapas / Saiba mais
Finalize o laboratório
Após terminar seu laboratório, clique em End Lab. O Qwiklabs removerá os recursos usados e limpará a conta para você.
Você poderá avaliar sua experiência neste laboratório. Basta selecionar o número de estrelas, digitar um comentário e clicar em Submit.
O número de estrelas indica o seguinte:
- 1 estrela = muito insatisfeito
- 2 estrelas = insatisfeito
- 3 estrelas = neutro
- 4 estrelas = satisfeito
- 5 estrelas = muito satisfeito
Feche a caixa de diálogo se não quiser enviar feedback.
Para enviar seu feedback, fazer sugestões ou correções, use a guia Support.