GSP1248

Descripción general
En este lab, aprenderás a optimizar un flujo de trabajo de clasificación de imágenes en BigQuery con un modelo importado (modelo de PyTorch creado en formato ONNX) y consultas en SQL de Google.
Como nuevo analista de datos en Cymbal Media and Entertainment, te asignaron la tarea de experimentar con un modelo importado y el aprendizaje automático de BigQuery para la inferencia con el objetivo de clasificar imágenes de vida silvestre. El objetivo de este proyecto es automatizar el proceso de clasificación de imágenes, simplificar la creación de contenido y, potencialmente, crear una base de datos más grande de imágenes de vida silvestre para el contenido futuro en la plataforma de transmisión de Cymbal.
ONNX es un formato abierto creado para representar modelos de aprendizaje automático. ONNX define un conjunto común de operadores (los componentes básicos de los modelos de aprendizaje automático y aprendizaje profundo) y un formato de archivo común para permitir que los desarrolladores de IA usen modelos con una variedad de frameworks, herramientas, entornos de ejecución y compiladores.
BigQuery es una plataforma de análisis de datos completamente administrada y lista para la IA que te ayuda a maximizar el valor de tus datos y está diseñada para ser multimotor, multiformato y de múltiples nubes. Una de sus funciones clave es BigQuery Machine Learning para la inferencia, que te permite crear y ejecutar modelos de aprendizaje automático (AA) a través de las consultas en SQL.
Ejecuta modelos de AA con consultas de GoogleSQL
Por lo general, ejecutar el AA o la Inteligencia Artificial (IA) en conjuntos de datos grandes requiere una programación extensa y conocimiento de los frameworks de AA. Esto restringe el desarrollo de soluciones a un pequeño grupo de personas dentro de cada empresa y excluye a los analistas de datos que comprenden los datos, pero tienen conocimiento limitado sobre aprendizaje automático y poca experiencia en programación. Sin embargo, con BigQuery ML, los profesionales de SQL pueden usar conocimientos, habilidades y herramientas de SQL existentes para compilar y generar resultados a partir de modelos compilados con ONNX y almacenados en un bucket de Cloud Storage. Esto ayuda a las empresas con la elección del modelo y la flexibilidad desde la perspectiva de MLOps. También ayuda a escalar las iniciativas de AA.
El conjunto de datos de imágenes
Las imágenes que se usan en este lab provienen del conjunto de datos de imágenes de detección de animales de Kaggle.
Objetivos
En este lab, aprenderás a realizar las siguientes tareas:
- Crear una conexión de recursos de Cloud
- Otorgar permisos a la cuenta de servicio de la conexión
- Crear un conjunto de datos y tablas de BigQuery
- Importar el modelo ONNX a BigQuery
- Clasificar imágenes con el modelo importado
Configuración y requisitos
Antes de hacer clic en el botón Comenzar lab
Lee estas instrucciones. Los labs cuentan con un temporizador que no se puede pausar. El temporizador, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.
Para completar este lab, necesitarás lo siguiente:
- Acceso a un navegador de Internet estándar. Se recomienda el navegador Chrome.
Nota: Usa una ventana del navegador privada o de incógnito (opción recomendada) para ejecutar el lab. Así evitarás conflictos entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
- Tiempo para completar el lab (recuerda que, una vez que comienzas un lab, no puedes pausarlo).
Nota: Usa solo la cuenta de estudiante para este lab. Si usas otra cuenta de Google Cloud, es posible que se apliquen cargos a esa cuenta.
Cómo iniciar tu lab y acceder a la consola de Google Cloud
-
Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá un diálogo para que selecciones la forma de pago.
A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
- El botón para abrir la consola de Google Cloud
- El tiempo restante
- Las credenciales temporales que debes usar para el lab
- Otra información para completar el lab, si es necesaria
-
Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).
El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.
Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.
Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
-
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
{{{user_0.username | "Username"}}}
También puedes encontrar el nombre de usuario en el panel Detalles del lab.
-
Haz clic en Siguiente.
-
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
{{{user_0.password | "Password"}}}
También puedes encontrar la contraseña en el panel Detalles del lab.
-
Haz clic en Siguiente.
Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud.
Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
-
Haz clic para avanzar por las páginas siguientes:
- Acepta los Términos y Condiciones.
- No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
- No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Nota: Para acceder a los productos y servicios de Google Cloud, haz clic en el menú de navegación o escribe el nombre del servicio o producto en el campo Buscar.
Tarea 1. Crea una conexión de recursos de Cloud
En esta tarea, crearás una conexión de recursos de Cloud en BigQuery para poder importar las imágenes de Cloud Storage a la tabla de objetos dentro de tu conjunto de datos.
Nota: Crea la conexión de recursos con la región de Google Cloud asignada en la guía del lab. También te recomendamos crear el conjunto de datos en esta región, lo que ayudará a reducir los errores en el lab.
-
En el menú de navegación de la consola de Google Cloud, haz clic en BigQuery.
-
Aparecerá la ventana emergente con el mensaje Te damos la bienvenida a BigQuery. Haz clic en LISTO.
-
Para crear una conexión, haz clic en + AGREGAR y, a continuación, en Conexiones a fuentes de datos externas.
-
En la lista Tipo de conexión, selecciona Modelos remotos de Vertex AI, funciones remotas y BigLake (Cloud Resource).
-
En el campo ID de conexión, escribe onnx_conn para tu conexión.
-
En Tipo de ubicación, elige Región.
-
En Región, elige .
-
Haz clic en CREAR CONEXIÓN.
-
Haz clic en IR A LA CONEXIÓN.
-
También verás que la conexión se agrega en la sección Conexiones externas de tu proyecto en el panel Explorador de BigQuery. En el panel Información de conexión, copia el ID de cuenta de servicio en un archivo de texto para usarlo en la siguiente tarea.
Haz clic en Revisar mi progreso para verificar el objetivo.
Crear una conexión de recursos de Cloud
Tarea 2. Revisa imágenes y archivos, y otorga acceso a la cuenta de servicio
En esta tarea, revisarás imágenes y archivos (modelo ONNX y csv del clasificador) y otorgarás permisos de IAM a la cuenta de servicio de la conexión de recursos de Cloud.
Revisa las imágenes y el modelo ONNX en Cloud Storage
Antes de adentrarte en esta tarea para otorgar permisos a la cuenta de servicio de la conexión de recursos, revisa las imágenes, el modelo y el archivo classifier.csv, ya que están almacenados en el bucket de Cloud Storage.
-
En la consola de Google Cloud, selecciona el menú de navegación (
) y, luego, Cloud Storage.
-
Haz clic en el bucket -bucket.
-
El bucket contiene la carpeta gsp1248. Abre la carpeta. Verás tres elementos en ella:
- La carpeta de imágenes contiene todas las imágenes que clasificarás. Puedes acceder a la carpeta de imágenes y revisarlas. Deberías ver una imagen de un león, un cisne negro, un hipopótamo, un oso negro americano y un cangrejo real.
- El archivo resnet18.onnx es el archivo del modelo. Lo importarás a BigQuery y lo usarás en tareas posteriores.
- El archivo classifier.csv se usará con el modelo en una consulta para clasificar las imágenes.
Otorga permisos de IAM a la cuenta de servicio de la conexión
Otorgar los permisos de IAM a la cuenta de servicio de la conexión de recursos antes de que empieces a trabajar en BigQuery garantizará que no se produzcan errores de acceso denegado cuando ejecutes consultas.
-
Regresa a la raíz del bucket.
-
Haz clic en PERMISOS.
-
Haz clic en OTORGAR ACCESO.
-
En el campo Principales nuevas, ingresa el ID de cuenta de servicio que copiaste antes.
-
En el campo Selecciona un rol, ingresa Objeto de almacenamiento y, a continuación, selecciona el rol Administrador de objetos de almacenamiento.
-
Haz clic en Guardar.
Ahora, el resultado del ID de la cuenta de servicio incluye el rol de administrador de objetos de almacenamiento.
Haz clic en Revisar mi progreso para verificar el objetivo.
Otorgar permisos de IAM a la cuenta de servicio de la conexión
Tarea 3. Crea el conjunto de datos y las tablas en BigQuery
En esta tarea, crearás un conjunto de datos para el proyecto, una tabla de objetos para almacenar las imágenes y una tabla para la lista de clasificación.
Crea un conjunto de datos
-
En la consola de Google Cloud, selecciona el Menú de navegación (
) y, luego, BigQuery.
-
En el panel Explorador, en , selecciona Ver acciones (
) y, luego, Crear conjunto de datos.
Crearás un conjunto de datos para almacenar objetos de base de datos, incluidos modelos y tablas.
-
En el panel Crear conjunto de datos, ingresa la información que se encuentra a continuación:
Campo |
Valor |
ID de conjunto de datos |
onnx_demo |
Tipo de ubicación |
select
|
Deja los demás campos en la configuración predeterminada.
-
Haz clic en Crear conjunto de datos.
El resultado es el conjunto de datos onnx_demo que se crea y aparece debajo de tu proyecto en el panel Explorador de BigQuery.
Crea la tabla de objetos para las imágenes
Con el conjunto de datos creado, ahora puedes crear la tabla de objetos que hace referencia a las imágenes en el bucket.
Para crear la tabla de objetos, usarás una consulta en SQL.
-
Haz clic en + para crear una consulta en SQL nueva.
-
En el editor de consultas, pega la consulta que figura a continuación.
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/*']
);
-
Ejecuta la consulta.
El resultado es que se agrega la tabla de objetos de vida silvestre al conjunto de datos onnx_demo y se carga con el URI (la ubicación de Cloud Storage) de cada imagen de animales.
-
En el panel Explorador, haz clic en la tabla wildlife y revisa el esquema y los detalles.
Crea la tabla para la lista de clasificación
Para crear la lista de clasificación de tablas, usarás una consulta en SQL.
-
Haz clic en + para crear una consulta en SQL nueva.
-
En el editor de consultas, pega la consulta que figura a continuación.
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']);
-
Ejecuta la consulta.
El resultado es la tabla del clasificador que se agrega al conjunto de datos onnx_demo, cargado con el ID y la clasificación de cada elemento en el conjunto de datos. Esto incluye las imágenes de vida silvestre que clasificarás más adelante en el lab.
-
En el panel Explorador, haz clic en la tabla classifier y revisa el esquema y los detalles. Puedes consultar la tabla para revisar cómo clasifica cada elemento. Nota: La tabla contiene muchos otros elementos, no solo vida silvestre (como animales, peces, insectos y aves).
Haz clic en Revisar mi progreso para verificar el objetivo.
Crear el conjunto de datos y las tablas en BigQuery
Tarea 4. Importa el modelo a BigQuery
En esta tarea, importarás el modelo resnet18 ONNX a BigQuery para que puedas usarlo para clasificar imágenes.
-
Haz clic en + para crear una consulta en SQL nueva.
-
En el editor de consultas, pega la consulta que figura a continuación.
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')
-
Ejecuta la consulta.
El resultado es que el modelo se agrega al conjunto de datos onnx_demo en la sección de modelos.
-
En el panel Explorador, haz clic en el modelo y revisa los detalles.
Haz clic en Revisar mi progreso para verificar el objetivo.
Importar el modelo a BigQuery
Tarea 5. Clasifica imágenes con el modelo ONNX importado
En esta tarea, reservarás una ranura, la asignarás a tu proyecto y usarás una consulta para clasificar imágenes nuevas con el modelo ONNX.
Agrega una reserva de ranura
Para usar el modelo ONNX, tendrás que crear una reserva de ranuras y asignarla a tu proyecto.
-
En el menú de BigQuery, haz clic en Administración de capacidad.
-
En la página Administración de capacidad, haz clic en CREAR UNA RESERVA.
-
En la página Crear una reserva, ingresa reserva
como nombre de la reserva.
-
Elige para la ubicación.
-
Elige Pequeño (100 ranuras) en la opción Selector de tamaño máximo de reserva.
-
Haz clic en GUARDAR.
Asigna la reserva de ranura a tu proyecto.
-
Haz clic en el botón Acciones de reserva (Ver acciones) de tu reserva.
-
En el menú emergente, haz clic en Crear asignación.
-
En la ventana emergente Crear una asignación, verás que el tipo de trabajo está configurado de forma predeterminada en QUERY. Mantén esta opción.
-
Haz clic en EXPLORAR.
-
En la ventana emergente, elige el nombre del proyecto. El proyecto se agrega al campo Selecciona una organización, una carpeta o un proyecto.
-
Haz clic en CREAR.
El resultado es que el proyecto se asigna a la reserva de ranuras que acabas de crear.
-
Espera 2 minutos. La asignación de la reserva de ranuras tarda un tiempo en aplicarse a la cuenta.
Usa el modelo para clasificar imágenes
-
Regresa a BigQuery Studio.
-
Haz clic en + para crear una consulta en SQL nueva.
-
En el editor de consultas, pega la consulta que figura a continuación.
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
)
-
Ejecuta la consulta.
El resultado es que las imágenes se clasifican por fila con el ID y la clasificación prevista según el modelo ONNX.
Haz clic en Revisar mi progreso para verificar el objetivo.
Clasificar imágenes con el modelo ONNX importado
¡Felicitaciones!
Creaste correctamente una conexión de recursos de Cloud, otorgaste acceso a la cuenta de servicio para la conexión, creaste un conjunto de datos y tablas, importaste un modelo ONNX a BigQuery y clasificaste imágenes con el modelo.
Próximos pasos/Más información
Capacitación y certificación de Google Cloud
Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.
Última actualización del manual: 24 de mayo de 2024
Prueba más reciente del lab: 24 de mayo de 2024
Copyright 2025 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.