Guía de inicio rápido sobre los modelos de dispositivos de 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 y realizar una predicción
  • Implementación y exportación de tu modelo de AutoML Vision Edge

Antes de comenzar

Configura el proyecto

  1. Accede a tu Cuenta de Google.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  2. En la página de selección de proyectos de Cloud Console, selecciona o crea un proyecto de Cloud.

    Ir a la página de selección de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud. Obtén información sobre cómo confirmar que tienes habilitada la facturación para tu proyecto.

  4. Habilita las API de AutoML and Cloud Storage.

    Habilita las API

  5. Instala la herramienta de línea de comandos de gcloud.
  6. Sigue las instrucciones a fin de crear una cuenta de servicio y descargar un archivo de claves para esa cuenta.
  7. Establece la variable de entorno GOOGLE_APPLICATION_CREDENTIALS en la ruta de acceso al archivo de claves de la cuenta de servicio que descargaste cuando creaste la cuenta de servicio.
    export GOOGLE_APPLICATION_CREDENTIALS=key-file
  8. Establece la variable de entorno PROJECT_ID para tu ID del proyecto.
    export PROJECT_ID=your-project-id
    Las llamadas a la API de AutoML y los nombres de los recursos incluyen el ID del proyecto. La variable de entorno PROJECT_ID proporciona una manera conveniente de especificar el ID.
  9. Si eres propietario del proyecto, agrega tu cuenta de servicio a la función de IAM del Editor de AutoML y reemplaza service-account-name por el nombre de la nueva cuenta de servicio. Por ejemplo, service-account1@myproject.iam.gserviceaccount.com.
    gcloud auth login
    gcloud projects add-iam-policy-binding $PROJECT_ID \
       --member="serviceAccount:service-account-name" \
       --role="roles/automl.editor"
    
  10. De lo contrario (si no eres propietario del proyecto), pídele al propietario que agregue tu ID de usuario y tu cuenta de servicio a la función de IAM de editor de AutoML.

Crea un depósito de Cloud Storage

Usa Cloud Shell, una línea de comandos de Linux basada en el navegador conectada a tu proyecto de Cloud Console, para crear un depósito de Cloud Storage:

  1. Abre Cloud Shell.

  2. Crea un depósito 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 llamado project-id-vcm en la región us-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/

  3. Configura la variable BUCKET.

    export BUCKET=${PROJECT_ID}-vcm

Copia las imágenes de muestra en tu depósito

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 depósito público de Cloud Storage, de modo que puedes copiarlas directo desde allí hasta tu propio depósito.

  1. En tu sesión de Cloud Shell, ingresa:

    gsutil -m cp -R gs://cloud-ml-data/img/flower_photos/ 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:

  1. Actualiza el archivo CSV para que se oriente a los archivos en tu propio depósito:

    gsutil cat gs://${BUCKET}/img/flower_photos/all_data.csv | sed "s:cloud-ml-data:${BUCKET}:" > all_data.csv
    
  2. Copia el archivo CSV a tu depósito:

    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 depósito de Cloud Storage.

  1. En la página de AutoML Vision, haz clic en New dataset (Conjunto de datos nuevo):

    Botón de conjunto de datos nuevo en la consola

  2. Especifica un nombre para este conjunto de datos (opcional). Selecciona Create dataset (Crear conjunto de datos) para continuar el proceso de creación del conjunto de datos.

    Campo de nombre de conjunto de datos nuevo

  3. 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.

    Ventana de seleccionar archivos para importar

  4. 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.

    Lista de imágenes luego de que se completó la importación

Entrena tu modelo

  1. Una vez que se creó y procesó el conjunto de datos, selecciona la pestaña Train (Entrenar) para iniciar el entrenamiento del modelo.

    selecciona la pestaña de entrenar

  2. Selecciona Start training (Comenzar entrenamiento) para continuar. Se abrirá una ventana Train new model (Entrenar un modelo nuevo) con opciones de entrenamiento.

  3. 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.

    sección de entrenamiento para definir tu modelo

  4. En la sección Optimizar el modelo en función de:, acepta la opción Mejor compensación y selecciona Continue (Continuar).

  5. 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]).

    Entrena el modelo de Edge

  6. Selecciona “Iniciar entrenamiento” (Start training) para comenzar con el entrenamiento del modelo.

    Se inicia el entrenamiento de tu modelo y 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.

  1. 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.

  2. 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.

    elige las horas de procesamiento de nodo en las que implementarás

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.

  1. En la sección Use your model (Usa tu modelo) de la pestaña Test & use (Probar y usar), selecciona la opción TF Lite.

    Exporta el modelo de TF Lite

  2. En la ventana Export TF Lite package (Exportar paquete de TF Lite) a la que se te redireccionó, especifica una ubicación de depósito de Cloud Storage para exportar un paquete de TF Lite y selecciona Export (Exportar). El proceso de exportación suele demorar varios minutos.

    ventana lateral para exportar tu modelo de TF Lite

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)

Próximos pasos

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

  • 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. Luego, sigue la documentación oficial de Coral sobre cómo ejecutar una inferencia en Edge TPU.
  • Puedes marcar Dar formato al modelo de Core ML (iOS / macOS) antes de entrenar el modelo para entrenar uno compatible con CoreML. Después del entrenamiento, puedes exportar el modelo en la pestaña CoreML y seguir el instructivo de CoreML.

Realiza una 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.

  1. Selecciona la pestaña Test & Use (Probar y usar) que se encuentra debajo de la barra de título.
  2. 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.

    Menú emergente para anular la implementación

  3. Selecciona Quitar implementación (Remove deployment) para anular la implementación del modelo.

    Implementación del modelo

  4. 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 Cloud Console para borrar tu proyecto si no lo necesitas.