Etiqueta imágenes con la API de AutoML Vision Edge
En esta guía de inicio rápido, se te guiará por los siguientes procesos:
- Uso de la detección de objetos de AutoML Vision para crear un conjunto de datos, entrenar un modelo personalizado de AutoML Vision Edge y realizar una predicción
- Exportación y uso del modelo de AutoML Vision Edge
En esta guía de inicio rápido, debes usar la interfaz de usuario (IU) para interactuar con la API de Cloud AutoML y exportar el modelo de AutoML Vision Edge.
Antes de comenzar
Si deseas usar la detección de objetos de Cloud AutoML Vision, primero debes crear un proyecto de Google Cloud (que nunca se haya usado con ningún otro producto de AutoML) y habilitar la detección de objetos de Cloud AutoML Vision para ese proyecto.
- Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Habilita las API de Cloud AutoML and Storage.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Habilita las API de Cloud AutoML and Storage.
Requisitos de la versión Beta
- Esta función Beta requiere que uses
us-central1
como la región especificada.
Prepara un conjunto de datos
En esta guía de inicio rápido, usarás un conjunto de datos creado a partir del conjunto de datos de imágenes abiertas V4.
Este conjunto de datos de ensaladas público se encuentra en gs://cloud-ml-data/img/openimage/csv/salads_ml_use.csv
.
El formato CSV es el siguiente:
TRAINING,gs://cloud-ml-data/img/openimage/3/2520/3916261642_0a504acd60_o.jpg,Salad,0.0,0.0954,,,0.977,0.957,, VALIDATION,gs://cloud-ml-data/img/openimage/3/2520/3916261642_0a504acd60_o.jpg,Seafood,0.0154,0.1538,,,1.0,0.802,, TEST,gs://cloud-ml-data/img/openimage/3/2520/3916261642_0a504acd60_o.jpg,Tomato,0.0,0.655,,,0.231,0.839,,
Cada fila corresponde a un objeto ubicado dentro de una imagen mayor, con cada objeto designado de forma específica como datos de prueba, entrenamiento o validación. Las tres líneas que se incluyen aquí indican tres objetos distintos ubicados dentro de la misma imagen disponibles en gs://cloud-ml-data/img/openimage/3/2520/3916261642_0a504acd60_o.jpg
. Cada fila tiene una etiqueta diferente: Salad
, Seafood
o Tomato
, además de otras filas con etiquetas Baked goods
o Cheese
.
Se especifican cuadros de límite para cada imagen con el vértice superior izquierdo y el vértice inferior derecho:
- (0,0) corresponde al vértice superior izquierdo.
- (1,1) corresponde al vértice inferior derecho.
En la primera fila, las coordenadas (x, y) del vértice superior izquierdo del objeto etiquetado Salad
son (0.0,0.0954), y las coordenadas del vértice inferior derecho del objeto son (0.977,0.957).
Si deseas obtener información más detallada sobre cómo dar formato al archivo CSV y los requisitos mínimos para crear un conjunto de datos válido, consulta Prepara los datos de entrenamiento.
Crea el conjunto de datos
- Abre la IU de la detección de objetos de AutoML Vision y selecciona tu proyecto de la lista desplegable en la barra de título.
La primera vez que abras la IU de la detección de objetos de AutoML Vision, deberás habilitar la API de AutoML si aún no está habilitada.
- Selecciona Comenzar en la ventana emergente cuando se te solicite.
- Se te redireccionará a la página de la lista de conjuntos de datos. Para crear un nuevo conjunto de datos, selecciona Conjunto de datos nuevo (New dataset). Ingresa un nombre único para tu conjunto de datos.
-
Ingresa la ubicación de los datos de entrenamiento que deseas importar en la ventana que aparece a continuación.
En el cuadro de texto Seleccionar un archivo CSV en Cloud Storage (Select a CSV file on Cloud Storage), ingresa la ruta del archivo CSV de muestra (el prefijo
gs://
se agrega de forma automática):cloud-ml-data/img/openimage/csv/salads_ml_use.csv
También puedes seleccionar Explorar (Browse) y navegar al archivo CSV en uno de tus depósitos de Google Cloud Storage.
En esta guía de inicio rápido, se usan datos de muestra almacenados en un bucket público de Google Cloud Storage. Los datos de entrenamiento son imágenes JPG de muestra anotadas con el cuadro de límite y la etiqueta de los objetos que el modelo debe aprender a identificar. Para importar los datos de entrenamiento al conjunto de datos, usa un archivo CSV que se oriente a los archivos de imagen (JPEG, PNG, GIF, BMP o ICO). Consulta Prepara los datos de entrenamiento a fin de obtener información sobre las especificaciones de formato y de imagen.
-
Selecciona Importar.
Tu conjunto de datos mostrará un estado de
Running:importing images
mientras se importen tus imágenes. Este proceso solo toma unos minutos.
Una vez que los datos de entrenamiento se importaron de forma correcta, en la columna Estado (Status), aparece Success:Creating dataset
, y la IU muestra el ID que se generó para el conjunto de datos (que se usa cuando se realizan llamadas a la API de AutoML) y la cantidad de elementos importados.
Si hay algún problema con la importación de las imágenes, verás el estado Warning: Importing
images
. Selecciona el nombre del conjunto de datos y Detalles para ver los errores de una importación de imagen específica.
Entrene su modelo
Una vez que se creó y procesó el conjunto de datos, selecciona la pestaña Train (Entrenar) para iniciar el entrenamiento del modelo.
Selecciona Comenzar entrenamiento (Start training) para continuar.
Se abrirá una ventana lateral con opciones de entrenamiento.
En la sección de entrenamiento Define your model (Define tu modelo), cambia el nombre del modelo y selecciona radio_button_checked Edge como el tipo de modelo. Después de seleccionar la opción para entrenar un modelo de Edge, selecciona Continue (Continuar).
En la sección Optimize model for (Optimizar modelo para), selecciona la opción predeterminada radio_button_checked Best trade-off (Mejor compensación). Después de seleccionar los criterios de optimización, selecciona Continue (Continuar).
En la sección Set a node hour budget (Configura un presupuesto por hora de procesamiento de nodo), usa el presupuesto por hora de procesamiento de nodo recomendado (24).
Selecciona Comenzar entrenamiento para comenzar el entrenamiento de modelos.
Se inicia el entrenamiento del modelo, que debería tomar alrededor de una hora. Es posible que el entrenamiento se detenga antes de la hora de procesamiento de nodo que seleccionaste. El servicio te enviará un correo electrónico una vez que se complete el entrenamiento o si se produce algún error.
Una vez que finalizó el entrenamiento, puedes consultar las métricas de evaluación, probar el modelo y usarlo.
Selecciona la pestaña Evaluar para obtener más detalles sobre las puntuaciones F1, de precisión y de recuperación.
Selecciona una etiqueta individual en Filtrar etiquetas para obtener detalles sobre verdaderos positivos, falsos negativos y falsos positivos.
Realiza una predicción
Una vez que finalice el entrenamiento, el modelo se debe implementar de forma manual a fin de poder usarlo para realizar predicciones en línea.
Selecciona la pestaña Probar y usar para implementar el modelo (o anular la implementación). La página Probar y usar también contiene instrucciones para enviar una imagen al modelo a fin de hacer una predicción. También puedes consultar Anota imágenes para ver ejemplos.
Exporta y usa el modelo de Edge
El último paso para usar un modelo de AutoML Vision Edge es exportar (optimizar y descargar) y usar el modelo.
Existen varias maneras de exportar y usar los modelos para la predicción en dispositivos de Edge.
En esta guía de inicio rápido, usarás Tensorflow Lite (TF Lite) como ejemplo. Los modelos TF Lite son fáciles de usar y tienen un amplio conjunto de casos prácticos.
En Usa tu modelo (Use your model), selecciona la opción TF Lite.
En la ventana lateral que se abre, se muestra una ubicación de Google Cloud Storage para el modelo exportado.
Después de asignar una ubicación de almacenamiento, selecciona Export (Exportar) para exportar un paquete de TF Lite al depósito de almacenamiento de Cloud Storage. El proceso de exportación suele llevar varios minutos.
Una vez que se complete la exportación, selecciona el vínculo “Open in Google Cloud Storage” (Abrir en Google Cloud Storage) para ir a la carpeta de destino de Google Cloud Storage en Google Cloud Platform Console.
En la ubicación de destino de Google Cloud Storage, encontrarás una carpeta con un nombre que contiene el formato de marca de tiempo y de modelo, en la cual puedes encontrar los siguientes archivos:
- un archivo de tflite (
model.tflite
) - un archivo de diccionario (
dict.txt
) - un archivo de metadatos (
tflite_metadata.json
)
Realiza una limpieza
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.
¿Qué sigue?
Con estos archivos, puedes seguir instructivos para usarlo en dispositivos Android, dispositivos iOS o Raspberry Pi 3.
Otras opciones para usar el modelo:
- También puedes exportar el modelo como modelo guardado de Tensorflow y usarlo con un contenedor de Docker en la pestaña Contenedor. Consulta el instructivo de contenedores para obtener información sobre cómo exportar a un contenedor.
- Puedes exportar el modelo para ejecutarlo en Edge TPU en la pestaña Dispositivos de Edge. Puedes seguir esta documentación oficial de Edge TPU para usar el modelo.