Etiqueta imágenes con un modelo de AutoML Vision Edge
En esta guía de inicio rápido, se te guiará por los siguientes procesos:
- Copia de un conjunto de imágenes en Google Cloud Storage
- Creación de un CSV que enumere las imágenes y sus etiquetas
- Uso de AutoML Vision para crear tu conjunto de datos, entrenar un modelo personalizado de AutoML Vision Edge (clasificación de imágenes o detección de objetos) y realizar una predicción
- Implementación y exportación de tu modelo de AutoML Vision Edge para uno de varios tipos de dispositivos perimetrales, como teléfonos celulares, dispositivos basados en ARM y Coral Edge TPU.
Antes de comenzar
Configura tu 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.
- Instala Google Cloud CLI.
-
Para inicializar la CLI de gcloud, ejecuta el siguiente comando:
gcloud init
-
Crea o selecciona un proyecto de Google Cloud.
-
Crea un proyecto de Google Cloud:
gcloud projects create PROJECT_ID
-
Selecciona el proyecto de Google Cloud que creaste:
gcloud config set project PROJECT_ID
-
-
Comprueba que la facturación esté habilitada en tu proyecto.
-
Habilita las APIs de AutoML and Cloud Storage:
gcloud services enable storage-component.googleapis.com
automl.googleapis.com storage-api.googleapis.com - Instala Google Cloud CLI.
-
Para inicializar la CLI de gcloud, ejecuta el siguiente comando:
gcloud init
-
Crea o selecciona un proyecto de Google Cloud.
-
Crea un proyecto de Google Cloud:
gcloud projects create PROJECT_ID
-
Selecciona el proyecto de Google Cloud que creaste:
gcloud config set project PROJECT_ID
-
-
Comprueba que la facturación esté habilitada en tu proyecto.
-
Habilita las APIs de AutoML and Cloud Storage:
gcloud services enable storage-component.googleapis.com
automl.googleapis.com storage-api.googleapis.com - Establece la variable de entorno
PROJECT_ID
para tu ID del proyecto.export PROJECT_ID=PROJECT_ID
Las llamadas a la API de AutoML y los nombres de los recursos incluyen el ID del proyecto. La variable de entornoPROJECT_ID
proporciona una manera conveniente de especificar el ID.
Cree un bucket de Cloud Storage
Usa Cloud Shell, una línea de comandos de Linux basada en el navegador conectada a tu proyecto de la consola de Google Cloud, para crear un bucket de Cloud Storage:
Crea un bucket de Google Cloud Storage. El nombre del depósito debe tener el siguiente formato:
project-id-vcm
Con el siguiente comando, se crea un depósito de almacenamiento llamadoproject-id-vcm
en la regiónus-central1
. Para obtener una lista completa de las regiones disponibles, consulta la página Ubicaciones de depósitos.gsutil mb -p ${PROJECT_ID} -c regional -l us-central1 gs://${PROJECT_ID}-vcm/
Configura la variable BUCKET.
export BUCKET=${PROJECT_ID}-vcm
Copia las imágenes de muestra en tu bucket
A continuación, copia el conjunto de datos de flores que se usa en esta entrada de blog de Tensorflow. Las imágenes se almacenan en un bucket público de Cloud Storage, de modo que puedes copiarlas directo desde allí hasta tu propio bucket.
En tu sesión de Cloud Shell, ingresa:
gsutil -m cp -R gs://cloud-samples-data/ai-platform/flowers/ gs://${BUCKET}/img/
La copia del archivo tarda unos 20 minutos en completarse.
Crea el archivo CSV
El conjunto de datos de muestra contiene un archivo CSV con todas las ubicaciones de las imágenes y las etiquetas de cada imagen. Lo usarás para crear tu propio archivo CSV:
Actualiza el archivo CSV para que se oriente a los archivos en tu propio bucket:
gsutil cat gs://${BUCKET}/img/flowers/all_data.csv | sed "s:cloud-ml-data/img/flower_photos/:${BUCKET}/img/flowers/:" > all_data.csv
Copia el archivo CSV a tu bucket:
gsutil cp all_data.csv gs://${BUCKET}/csv/
Crea tu conjunto de datos
Visita la IU de AutoML Vision para comenzar el proceso de creación de tu conjunto de datos y entrenamiento de tu modelo.
Cuando se te solicite, asegúrate de seleccionar el proyecto que usaste para el bucket de Cloud Storage.
En la página de AutoML Vision, haz clic en New dataset (Conjunto de datos nuevo):
Especifica un nombre para este conjunto de datos (opcional), selecciona el objetivo del modelo y haz clic en Crear conjunto de datos a fin de continuar con el proceso de creación del conjunto de datos.
En la pantalla Select files to import (Seleccionar archivos para importar), elige el botón de selección
Select a CSV file on Cloud Storage (Seleccionar un archivo CSV en Cloud Storage). Especifica el URI de Cloud Storage de tu archivo CSV. En esta guía de inicio rápido, el archivo CSV se encuentra en la siguiente ubicación:gs://${PROJECT_ID}-vcm/csv/all_data.csv
Reemplaza
PROJECT_ID
por el ID de tu proyecto específico.Haz clic en Continue (Continuar) para comenzar la importación de imágenes. El proceso de importación tarda unos minutos en completarse. Cuando finalice, se te redirigirá a la siguiente página, que contiene detalles de todas las imágenes identificadas para tu conjunto de datos, tanto las etiquetadas como las no etiquetadas.
Entrena tu 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 Start training (Comenzar entrenamiento) para continuar. Se abrirá una ventana Train new model (Entrenar un modelo nuevo) con opciones de entrenamiento.
En la sección Define your model (Define tu modelo) de la ventana de entrenamiento del modelo nuevo, cambia el nombre del modelo (opcional) y selecciona el botón de selección del modelo
Edge. Selecciona Continue (Continuar) para pasar a la siguiente sección.En la sección Optimizar el modelo en función de:, acepta la opción
Mejor compensación y selecciona Continue (Continuar).En la sección Set a node hour budget (Configura un presupuesto por hora de procesamiento de nodo), acepta el presupuesto de nodo sugerido (4 node hours [4 horas de procesamiento de nodo]).
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.
Implementa el modelo
Antes de que puedas exportar tu modelo, debes implementarlo para su uso.
Para implementar tu modelo, selecciona la pestaña Test & use (Probar y usar). En la pestaña, haz clic en la opción Deploy model (Implementar modelo) cerca del nombre del modelo.
En la ventana que aparece a continuación, especifica 1 nodo para implementar y selecciona Deploy (Implementar) a fin de comenzar el proceso de implementación del modelo.
Recibirás una notificación cuando se complete la implementación del modelo.
Exporta el modelo
El último paso para usar un modelo de AutoML Vision Edge es exportar (optimizar y descargar) e implementar (usar) el modelo.
Existen varias formas de exportar y de implementar los modelos para usarlos en predicciones en dispositivos 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 la sección Usa tu modelo de la pestaña Probar y usar, selecciona la opción TF Lite.
En la ventana Exportar paquete de TF Lite que se muestra, especifica una ubicación de bucket de Cloud Storage para exportar un paquete de TF Lite y, luego, selecciona Exportar. El proceso de exportación suele llevar varios minutos.
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
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que se usaron en esta página, borra el proyecto de Cloud que tiene los recursos.
¿Qué sigue?
Con estos archivos, puedes seguir instructivos para implementar en dispositivos Android, dispositivos iOS, Raspberry Pi 3 o en la Web.
Otras opciones de uso del modelo
- Puedes exportar el modelo como un modelo compatible con CoreML (iOS/macOS). Después del entrenamiento, puedes exportar el modelo si seleccionas la opción CoreML en Probar y usar y seguir elInstructivo de CoreML.
- Puedes exportar el modelo para ejecutarlo en Coral Edge TPU. Después de entrenar, selecciona la opción Coral en la pestaña Probar y usar para exportar el modelo. Sin embargo, debido a la incompatibilidad actual con nuestro modelo de detección de objetos, te recomendamos que solo exportes modelos de clasificación de imágenes para Edge TPU (para entrenar un modelo de detección de objetos para Edge TPU, sigue uno de estos instructivos de Colab de Google. Después de exportar el modelo, sigue la documentación oficial de Coral sobre cómo ejecutar una inferencia en Edge TPU.
- Puedes exportar el modelo como modelo guardado de Tensorflow y usarlo con un contenedor de Docker. Después del entrenamiento, puedes exportar el modelo si seleccionas la opción Contenedor en la pestaña Probar y usar y seguir el Instructivo de contenedores de Edge para exportar a un contenedor.
- Puedes exportar el modelo para usarlo en un navegador o en Node.js como un modelo de Tensorflow.js. Después del entrenamiento, puedes exportar el modelo si seleccionas la opción Tensorflow.js en la pestaña Probar y usar y seguir el Instructivo de Edge sobre TensorFlow.js.
Limpieza
Si ya no necesitas tu conjunto de datos o modelo personalizado, puedes borrarlos.
A fin de evitar cargos innecesarios en Google Cloud Platform, usa GCP Console para borrar tu proyecto si no lo necesitas.
Anula la implementación de tu modelo
Tu modelo generará cargos mientras esté implementado.
- Selecciona la pestaña Probar y usar, que se encuentra justo debajo de la barra de título.
- Selecciona Remove deployment (Quitar implementación) en el cuadro que se encuentra debajo del nombre del modelo para abrir la ventana de la opción de anulación de la implementación.
- Selecciona Quitar implementación (Remove deployment) para anular la implementación del modelo.
- Recibirás un correo electrónico cuando se complete la anulación de la implementación del modelo.
Borra tu proyecto (opcional)
A fin de evitar cargos innecesarios en Google Cloud Platform, usa la consola de Google Cloud para borrar tu proyecto si no lo necesitas.