Tutorial: execute a inferência numa tabela de objetos através de um modelo de classificação
Este tutorial mostra como criar uma tabela de objetos com base nas imagens de um conjunto de dados público e, em seguida, executar a inferência nessa tabela de objetos com o modelo ResNet 50.
O modelo ResNet 50
O modelo ResNet 50 analisa ficheiros de imagem e gera um lote de vetores que representam a probabilidade de uma imagem pertencer à classe correspondente (logits). Para mais informações, consulte a secção Utilização na página do modelo no TensorFlow Hub.
A entrada do modelo ResNet 50 recebe um tensor de
DType =
float32 no formato [-1, 224, 224, 3]. A saída é uma matriz de tensores de tf.float32 no formato[-1, 1024].
Autorizações necessárias
- Para criar o conjunto de dados, precisa da autorização
bigquery.datasets.create. Para criar o recurso de associação, precisa das seguintes autorizações:
bigquery.connections.createbigquery.connections.get
Para conceder autorizações à conta de serviço da associação, precisa da seguinte autorização:
resourcemanager.projects.setIamPolicy
Para criar a tabela de objetos, precisa das seguintes autorizações:
bigquery.tables.createbigquery.tables.updatebigquery.connections.delegate
Para criar o contentor, precisa da autorização
storage.buckets.create.Para carregar o modelo para o Cloud Storage, precisa das autorizações
storage.objects.createestorage.objects.get.Para carregar o modelo para o BigQuery ML, precisa das seguintes autorizações:
bigquery.jobs.createbigquery.models.createbigquery.models.getDatabigquery.models.updateData
Para executar a inferência, precisa das seguintes autorizações:
bigquery.tables.getDatana tabela de objetosbigquery.models.getDatano modelobigquery.jobs.create
Custos
Neste documento, usa os seguintes componentes faturáveis do Google Cloud:
- BigQuery: You incur storage costs for the object table you create in BigQuery.
- BigQuery ML: You incur costs for the model you create and the inference you perform in BigQuery ML.
- Cloud Storage: You incur costs for the objects you store in Cloud Storage.
Para gerar uma estimativa de custos com base na sua utilização prevista,
use a calculadora de preços.
Para mais informações sobre os preços de armazenamento do BigQuery, consulte os preços de armazenamento na documentação do BigQuery.
Para mais informações sobre os preços do BigQuery ML, consulte o artigo Preços do BigQuery ML na documentação do BigQuery.
Para mais informações sobre os preços do Cloud Storage, consulte a página de preços do Cloud Storage.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and BigQuery Connection API APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and BigQuery Connection API APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. Aceda à página do BigQuery.
No painel Editor, execute a seguinte declaração SQL:
CREATE SCHEMA `PROJECT_ID.resnet_inference_test`;
Substitua
PROJECT_IDpelo ID do seu projeto.Na Google Cloud consola, ative o Cloud Shell.
Execute o comando
bq mkpara criar o conjunto de dados:bq mk --dataset --location=us PROJECT_ID:resnet_inference_test
Substitua
PROJECT_IDpelo ID do seu projeto.Aceda à página do BigQuery.
No painel esquerdo, clique em Explorador:

Se não vir o painel do lado esquerdo, clique em Expandir painel do lado esquerdo para o abrir.
No painel Explorador, clique em Adicionar dados.
É apresentada a caixa de diálogo Adicionar dados.
No painel Filtrar por, na secção Tipo de origem de dados, selecione Bases de dados.
Em alternativa, no campo Pesquisar origens de dados, pode introduzir
Vertex AI.Na secção Origens de dados em destaque, clique em Vertex AI.
Clique no cartão da solução Modelos da Vertex AI: federação do BigQuery.
Na lista Tipo de ligação, selecione Modelos remotos, funções remotas, BigLake e Spanner da Vertex AI (recurso da nuvem).
No campo ID de associação, escreva
lake-connection.Clique em Criar associação.
No painel Informações de associação, copie o valor do campo ID da conta de serviço e guarde-o num local. Precisa destas informações para conceder autorizações à conta de serviço da ligação.
No Cloud Shell, execute o comando
bq mkpara criar a associação:bq mk --connection --location=us --connection_type=CLOUD_RESOURCE \ lake-connectionExecute o comando
bq showpara obter informações sobre a ligação:bq show --connection us.lake-connectionNa coluna
properties, copie o valor da propriedadeserviceAccountIde guarde-o noutro local. Precisa destas informações para conceder autorizações à conta de serviço da associação.Aceda à página IAM e administrador.
Clique em Conceder acesso.
É apresentada a caixa de diálogo Adicionar responsáveis.
No campo Novos membros, introduza o ID da conta de serviço que copiou anteriormente.
No campo Selecionar uma função, selecione Cloud Storage e, de seguida, selecione Visualizador de objetos do Storage.
Clique em Guardar.
Crie uma reserva
Para usar um
modelo importado
com uma tabela de objetos, tem de
criar uma reserva
que use a
edição Enterprise ou Enterprise Plus
do BigQuery e, em seguida,
criar uma atribuição de reserva
que use o tipo de tarefa QUERY.
Crie um conjunto de dados
Crie um conjunto de dados com o nome resnet_inference_test:
SQL
bq
Crie uma associação
Crie uma ligação denominada lake-connection:
Consola
bq
Crie um contentor do Cloud Storage
Crie um contentor do Cloud Storage para conter os ficheiros do modelo.
Conceda autorizações à conta de serviço da associação
Consola
gcloud
No Cloud Shell, execute o comando
gcloud storage buckets add-iam-policy-binding:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member