GSP1248

Visão geral
Neste laboratório, você vai aprender a simplificar um fluxo de trabalho de classificação de imagens no BigQuery usando um modelo importado (modelo PyTorch criado no formato ONNX) e consultas SQL do Google.
Como novo analista de dados da Cymbal Media and Entertainment, você recebeu a tarefa de testar um modelo importado e o BigQuery Machine Learning para inferência para classificar imagens de vida selvagem. O objetivo do projeto é automatizar o processo de classificação de imagens, simplificar a criação de conteúdos e, possivelmente, criar um banco de dados maior de imagens de vida selvagem para conteúdos futuros na plataforma de streaming da Cymbal.
O ONNX é um formato aberto criado para representar modelos de machine learning. O ONNX define um conjunto comum de operadores (os elementos básicos dos modelos de machine learning e de aprendizado profundo) e um formato de arquivo comum para que os desenvolvedores de IA usem modelos com vários frameworks, ferramentas, ambientes de execução e compiladores.
O BigQuery é uma plataforma de análise de dados totalmente gerenciada e pronta para IA que ajuda a impulsionar o valor dos dados, funcionando com vários mecanismos, formatos e nuvens. Um dos principais recursos dele é o BigQuery Machine Learning para inferência, que permite criar e executar modelos de machine learning (ML) usando consultas SQL.
Como executar modelos de ML usando consultas do GoogleSQL
Em geral, para executar ML ou inteligência artificial (IA) em grandes conjuntos de dados, é preciso utilizar programação detalhada e ter conhecimento de frameworks de ML. Isso restringe o desenvolvimento de soluções a um grupo muito pequeno de pessoas na empresa. Além disso, exclui analistas de dados que compreendem os dados, mas têm conhecimento limitado de ML e de programação. No entanto, com o BigQuery ML, os profissionais de SQL podem usar os conhecimentos, as habilidades e as ferramentas de SQL atuais para realizar criações e gerar resultados de modelos criados com ONNX e armazenados em um bucket do Cloud Storage. Isso ajuda as empresas na escolha de modelos e em questões como flexibilidade, de uma perspectiva de MLOps. Também ajuda no escalonamento das iniciativas de ML.
O conjunto de dados de imagens
As imagens usadas neste laboratório são do conjunto de dados de imagens de detecção de animais no Kaggle.
Objetivos
Neste laboratório, você vai aprender a:
- Criar uma conexão de recursos do Cloud.
- Conceder permissões para a conta de serviço da conexão.
- Criar um conjunto de dados e tabelas do BigQuery.
- Importar o modelo ONNX para o BigQuery.
- Classificar imagens usando o modelo importado.
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 é ativado quando você clica em Iniciar 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, e 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.
Confira os requisitos para concluir o laboratório:
- Acesso a um navegador de Internet padrão (recomendamos o Chrome).
Observação: para executar este laboratório, use o modo de navegação anônima (recomendado) ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e de estudante, o que poderia causar cobranças extras na sua conta pessoal.
- Tempo para concluir o laboratório: não se esqueça que, depois de começar, não será possível pausar o laboratório.
Observação: use apenas a conta de estudante neste laboratório. Se usar outra conta do Google Cloud, você poderá receber cobranças nela.
Como iniciar seu laboratório e fazer login no console do Google Cloud
-
Clique no botão Começar o laboratório. Se for preciso pagar por ele, uma caixa de diálogo vai aparecer para você selecionar a forma de pagamento.
No painel Detalhes do Laboratório, à esquerda, você vai encontrar o seguinte:
- O botão Abrir Console do Google Cloud
- O tempo restante
- As credenciais temporárias que você vai usar neste laboratório
- Outras informações, se forem necessárias
-
Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.
O laboratório ativa os recursos e depois abre a página Fazer Login em outra guia.
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.
-
Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.
{{{user_0.username | "Username"}}}
Você também encontra o nome de usuário no painel Detalhes do Laboratório.
-
Clique em Próxima.
-
Copie a Senha abaixo e cole na caixa de diálogo de Olá.
{{{user_0.password | "Password"}}}
Você também encontra a senha no painel Detalhes do Laboratório.
-
Clique em Próxima.
Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud.
Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
-
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 Google Cloud será aberto nesta guia.
Observação: para acessar os produtos e serviços do Google Cloud, clique no Menu de navegação ou digite o nome do serviço ou produto no campo Pesquisar.
Tarefa 1: criar uma conexão de recursos do Cloud
Nesta tarefa, você vai criar uma conexão de recursos do Cloud no BigQuery para importar as imagens do Cloud Storage para a tabela de objetos no conjunto de dados.
Observação: crie a conexão de recursos usando a região do Google Cloud atribuída no guia do laboratório. Também recomendamos que você crie o conjunto de dados nessa região para ajudar a reduzir os erros no laboratório.
-
No console do Google Cloud, acesse o menu de navegação e clique em BigQuery.
-
O pop-up Este é o BigQuery é exibido. Clique em CONCLUÍDO.
-
Para criar uma conexão, clique em + ADICIONAR e selecione Conexões com fontes de dados externas.
-
Na lista Tipo de conexão, selecione Modelos remotos, funções remotas e BigLake (recurso do Cloud) da Vertex AI.
-
No campo ID da conexão, digite onnx_conn.
-
Em Tipo de local, escolha Região.
-
Em Região, escolha .
-
Clique em CRIAR CONEXÃO.
-
Clique em ACESSAR CONEXÃO.
-
A conexão também será adicionada à seção Conexões externas do projeto no BigQuery Explorer. No painel de informações da conexão, copie o ID da conta de serviço para um arquivo de texto a fim de usá-lo na próxima tarefa.
Clique em Verificar meu progresso para conferir o objetivo.
Criar uma conexão de recursos do Cloud
Tarefa 2: analisar as imagens e os arquivos e conceder acesso à conta de serviço
Nesta tarefa, você vai analisar imagens e arquivos (modelo ONNX e classifier.csv) e conceder permissões do IAM à conta de serviço da conexão de recursos do Cloud.
Analisar as imagens e o modelo ONNX no Cloud Storage
Antes de realizar esta tarefa e conceder permissões à conta de serviço da conexão de recursos, analise as imagens, o modelo e o arquivo classifier.csv armazenados no bucket do Cloud Storage.
-
No console do Google Cloud, acesse o menu de navegação (
) e selecione Cloud Storage.
-
Clique no bucket -bucket.
-
O bucket contém a pasta gsp1248, que você deve abrir. Nela, você vai encontrar três itens:
- A pasta images contém todas as imagens que você vai classificar. Você pode acessar essa pasta e analisar as imagens que ela contém. É possível notar imagens de um leão, um cisne negro, um hipopótamo, um urso-negro e um caranguejo-real.
- O arquivo resnet18.onnx é o arquivo de modelo. Você vai importar o arquivo para o BigQuery e usá-lo em tarefas posteriores.
- O arquivo classifier.csv será usado com o modelo em uma consulta para classificar as imagens.
Conceder permissões do IAM à conta de serviço da conexão
Ao conceder permissões do IAM à conta de serviço da conexão de recursos antes de começar a trabalhar no BigQuery, você garante que não ocorram erros de acesso negado ao executar consultas.
-
Retorne à raiz do bucket.
-
Clique em PERMISSÕES.
-
Clique em PERMITIR ACESSO.
-
No campo Novos principais, digite o ID da conta de serviço que você copiou anteriormente.
-
No campo de seleção de papel, digite Objeto do Storage e selecione o papel Administrador de objetos do Storage.
-
Clique em Salvar.
Agora, o ID da conta de serviço tem o papel de administrador de objetos do Storage.
Clique em Verificar meu progresso para conferir o objetivo.
Conceder permissões do IAM à conta de serviço da conexão
Tarefa 3: criar o conjunto de dados e as tabelas no BigQuery
Nesta tarefa, você vai criar um conjunto de dados para o projeto, uma tabela de objetos para armazenar as imagens e uma tabela para a lista de classificação.
Criar um conjunto de dados
-
No console do Google Cloud, selecione o menu de navegação (
) e, em seguida, BigQuery.
-
No painel Explorador, para , selecione Ver ações (
) e selecione Criar conjunto de dados.
Ao criar um conjunto de dados, você armazena objetos do banco de dados, incluindo tabelas e modelos.
-
No painel Criar conjunto de dados, digite as seguintes informações:
Campo |
Valor |
ID do conjunto de dados |
onnx_demo |
Tipo de local |
selecione
|
Deixe os demais campos com os valores padrão.
-
Clique em Criar conjunto de dados.
Como resultado, o conjunto de dados onnx_demo é criado e listado no projeto no BigQuery Explorer.
Criar a tabela de objetos para as imagens
Agora que o conjunto de dados foi criado, você pode criar a tabela de objetos que faz referência às imagens no bucket.
Para criar a tabela de objetos, você vai usar uma consulta SQL.
-
Clique em "+" para criar uma consulta SQL.
-
No editor de consultas, cole a consulta abaixo.
CREATE OR REPLACE EXTERNAL TABLE
`onnx_demo.wildlife`
WITH CONNECTION `{{{project_0.default_region|lab region}}}.onnx_conn`
OPTIONS (
object_metadata = 'SIMPLE',
uris = ['gs://{{{project_0.project_id|set at lab start}}}-bucket/gsp1248/images/*']
);
-
Execute a consulta.
Como resultado, a tabela de objetos wildlife é adicionada ao conjunto de dados onnx_demo e carregada com o URI (o local no Cloud Storage) de cada imagem de animal.
-
No Explorer, clique na tabela wildlife e analise o esquema e os detalhes.
Criar a tabela para a lista de classificação
Para criar a tabela para a lista de classificação, você vai usar uma consulta SQL.
-
Clique em "+" para criar uma consulta SQL.
-
No editor de consultas, cole a consulta abaixo.
LOAD DATA OVERWRITE onnx_demo.classifier
(ID INT64,Classification STRING)
FROM FILES (
format = 'CSV',
uris = ['gs://{{{project_0.project_id|set at lab start}}}-bucket/gsp1248/classifier.csv']);
-
Execute a consulta.
Como resultado, a tabela classifier é adicionada ao conjunto de dados onnx_demo, carregada com o ID e a classificação de cada item no conjunto de dados. Isso inclui a tabela wildlife que você vai classificar mais tarde no laboratório.
-
No Explorer, clique na tabela classifier e analise o esquema e os detalhes. Consulte a tabela para saber como cada item é classificado. Observação: a tabela contém muitos outros itens, não apenas vida selvagem (como animais, peixes, insetos e pássaros).
Clique em Verificar meu progresso para conferir o objetivo.
Criar o conjunto de dados e as tabelas no BigQuery
Tarefa 4: importar o modelo para o BigQuery
Nesta tarefa, você vai importar o modelo ONNX resnet18 para o BigQuery e usá-lo na classificação de imagens.
-
Clique em "+" para criar uma consulta SQL.
-
No editor de consultas, cole a consulta abaixo.
CREATE OR REPLACE MODEL `onnx_demo.model`
OPTIONS (MODEL_TYPE='ONNX',
MODEL_PATH='gs://{{{project_0.project_id|set at lab start}}}-bucket/gsp1248/resnet18.onnx')
-
Execute a consulta.
Como resultado, o modelo é adicionado ao conjunto de dados onnx_demo na seção de modelos.
-
No Explorer, clique no modelo e confira os detalhes.
Clique em Verificar meu progresso para conferir o objetivo.
Importar o modelo para o BigQuery
Tarefa 5: classificar imagens usando o modelo ONNX importado
Nesta tarefa, você vai reservar um slot, atribuir esse slot ao projeto e usar uma consulta para classificar novas imagens com o modelo ONNX.
Adicionar uma reserva de slot
Para usar o modelo ONNX, você precisa criar uma reserva de slot e atribuí-la ao projeto.
-
No menu do BigQuery, clique em Gerenciamento de capacidade.
-
Na página Gerenciamento de capacidade, clique em CRIAR RESERVA.
-
Na página Criar reserva, insira reservation
como o nome da reserva.
-
Escolha para o local.
-
Escolha Pequeno (100 slots) como a opção do seletor de tamanho máximo da reserva.
-
Clique em SALVAR.
Atribua a reserva de slot ao projeto.
-
Clique no botão Ações de reserva (Conferir ações) da reserva.
-
No menu pop-up, clique em Criar atribuição.
-
Na janela pop-up Criar atribuição, o tipo de job padrão é QUERY. Mantenha essa opção.
-
Clique em PROCURAR.
-
No pop-up, escolha o nome do projeto. O projeto é adicionado ao campo Selecionar uma organização, pasta ou projeto.
-
Clique em CRIAR.
Como resultado, o projeto é atribuído à reserva de slot que você acabou de criar.
-
Aguarde dois minutos. A atribuição da reserva de slot leva algum tempo para ser aplicada à conta.
Usar o modelo para classificar imagens
-
Volte ao BigQuery Studio.
-
Clique em "+" para criar uma consulta SQL.
-
No editor de consultas, cole a consulta abaixo.
SELECT * FROM `{{{project_0.project_id|set at lab start}}}.onnx_demo.classifier`
WHERE EXISTS (
SELECT
1
FROM
ML.PREDICT(MODEL onnx_demo.model,
(
SELECT
ML.RESIZE_IMAGE(ML.DECODE_IMAGE(DATA),
224,
224,
FALSE) AS input
FROM
`onnx_demo.wildlife`
)
)
WHERE
class_label = ID - 1
)
-
Execute a consulta.
Como resultado, as imagens são classificadas por linha, com o ID e a classificação prevista com base no modelo ONNX.
Clique em Verificar meu progresso para conferir o objetivo.
Classificar imagens usando o modelo ONNX importado
Parabéns!
Você criou uma conexão de recursos do Cloud, concedeu acesso à conta de serviço para a conexão, criou um conjunto de dados e tabelas, importou um modelo ONNX para o BigQuery e classificou imagens usando esse modelo.
Próximas etapas / Saiba mais
Treinamento e certificação do Google Cloud
Esses treinamentos ajudam 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 validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.
Manual atualizado em 24 de maio de 2024
Laboratório testado em 24 de maio de 2024
Copyright 2025 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.