En esta página se explica cómo ejecutar una aplicación de entrenamiento de TensorFlow Keras en Vertex AI. Este modelo concreto entrena un modelo de clasificación de imágenes que puede clasificar flores por tipo.
Este tutorial tiene varias páginas:Entrenar un modelo de clasificación de imágenes personalizado.
Publicar predicciones a partir de un modelo personalizado de clasificación de imágenes
En cada página se da por hecho que ya has seguido las instrucciones de las páginas anteriores del tutorial.
En el resto de este documento se presupone que estás usando el mismo entorno de Cloud Shell que creaste en la primera página de este tutorial. Si tu sesión original de Cloud Shell ya no está abierta, puedes volver al entorno haciendo lo siguiente:-
In the Google Cloud console, activate Cloud Shell.
-
En la sesión de Cloud Shell, ejecuta el siguiente comando:
cd hello-custom-sample
En la Google Cloud consola, en la sección Vertex AI, ve a la página Flujos de procesamiento de entrenamiento.
Haz clic en
Crear para abrir el panel Entrenar modelo nuevo.En el paso Elegir método de entrenamiento, haz lo siguiente:
En la lista desplegable Conjunto de datos, selecciona Sin conjunto de datos gestionado. Esta aplicación de entrenamiento en concreto carga datos de la biblioteca TensorFlow Datasets en lugar de un conjunto de datos gestionado de Vertex AI.
Comprueba que esté seleccionada la opción Entrenamiento personalizado (avanzado).
Haz clic en Continuar.
En el paso Detalles del modelo, en el campo Nombre, introduce
hello_custom
. Haz clic en Continuar.En el paso Contenedor de entrenamiento, proporciona a Vertex AI la información que necesita para usar el paquete de entrenamiento que has subido a Cloud Storage:
Selecciona Contenedor compilado previamente.
En la lista desplegable Framework del modelo, selecciona TensorFlow.
En la lista desplegable Versión del framework del modelo, selecciona 2.3.
En el campo Ubicación del paquete, introduce
cloud-samples-data/ai-platform/hello-custom/hello-custom-sample-v1.tar.gz
.En el campo Módulo de Python, introduce
trainer.task
.trainer
es el nombre del paquete de Python en tu archivo tar ytask.py
contiene tu código de entrenamiento. Por lo tanto,trainer.task
es el nombre del módulo que quieres que ejecute Vertex AI.En el campo Model output directory (Directorio de salida del modelo), haga clic en Browse (Examinar). En el panel Seleccionar carpeta, haz lo siguiente:
Ve al segmento de Cloud Storage.
Haz clic en Crear carpeta
.Asigna el nombre
output
a la nueva carpeta. A continuación, haz clic en Crear.Haz clic en Seleccionar.
Confirma que el campo tiene el valor
gs://BUCKET_NAME/output
, donde BUCKET_NAME es el nombre de tu segmento de Cloud Storage.Este valor se transfiere a Vertex AI en el campo
baseOutputDirectory
de la API, que define varias variables de entorno a las que puede acceder tu aplicación de entrenamiento cuando se ejecuta.Por ejemplo, si asignas el valor
gs://BUCKET_NAME/output
a este campo, Vertex AI asigna el valorgs://BUCKET_NAME/output/model
a la variable de entornoAIP_MODEL_DIR
. Al final del entrenamiento, Vertex AI usa los artefactos del directorioAIP_MODEL_DIR
para crear un recurso de modelo.Más información sobre las variables de entorno definidas por este campo
Haz clic en Continuar.
En el paso opcional Hiperparámetros, asegúrate de que la casilla Habilitar ajuste de hiperparámetros esté desmarcada. En este tutorial no se usa el ajuste de hiperparámetros. Haz clic en Continuar.
En el paso Computación y precios, asigna recursos al trabajo de entrenamiento personalizado:
En la lista desplegable Región, selecciona us-central1 (Iowa).
En la lista desplegable Machine type (Tipo de máquina), selecciona n1-standard-4 en la sección Standard (Estándar).
No añadas ninguna aceleradora ni ningún grupo de trabajadores en este tutorial. Haz clic en Continuar.
En el paso Contenedor de predicción, proporciona a Vertex AI la información que necesita para ofrecer predicciones:
Selecciona Contenedor compilado previamente.
En la sección Configuración del contenedor precompilado, haga lo siguiente:
En la lista desplegable Framework del modelo, selecciona TensorFlow.
En la lista desplegable Versión del framework del modelo, selecciona 2.3.
En la lista desplegable Tipo de acelerador, selecciona Ninguno.
Confirma que el campo Directorio del modelo tiene el valor
gs://BUCKET_NAME/output
, donde BUCKET_NAME es el nombre de tu cubo de Cloud Storage. Este valor coincide con el valor de Directorio de salida del modelo que proporcionó en un paso anterior.
Deja en blanco los campos de la sección Predecir esquemas.
Haz clic en Iniciar entrenamiento para iniciar la canalización de entrenamiento personalizado.
El flujo de procesamiento de entrenamiento crea un recurso de tarea personalizada llamado
hello_custom-custom-job
. Al cabo de unos instantes, podrás ver este recurso en la página Trabajos personalizados de la sección Entrenamiento:El trabajo personalizado ejecuta la aplicación de entrenamiento con los recursos de computación que has especificado en esta sección.
Una vez que se completa el trabajo personalizado, la canalización de entrenamiento busca los artefactos que crea tu aplicación de entrenamiento en el directorio
output/model/
de tu bucket de Cloud Storage. Usa estos artefactos para crear un recurso model.En la Google Cloud consola, en la sección Vertex AI, ve a la página Trabajos personalizados.
Para ver los detalles del
CustomJob
que acabas de crear, haz clic enhello_custom-custom-job
en la lista.En la página de detalles del trabajo, haz clic en Ver registros.
Ejecutar un flujo de procesamiento de entrenamiento personalizado
En esta sección se describe cómo usar el paquete de entrenamiento que has subido a Cloud Storage para ejecutar una canalización de entrenamiento personalizado de Vertex AI.
Ahora puedes ver el nuevo flujo de procesamiento de entrenamiento, llamado hello_custom
, en la página Entrenamiento. Es posible que tengas que actualizar la página. El proceso de entrenamiento hace dos cosas principales:
Monitorizar el entrenamiento
Para ver los registros de entrenamiento, sigue estos pasos:
Ver el modelo entrenado
Cuando se complete el flujo de trabajo de entrenamiento personalizado, podrás encontrar el modelo entrenado en la Google Cloud consola, en la sección Vertex AI, en la página Modelos.
El modelo tiene el nombre hello_custom
.
Siguientes pasos
Sigue los pasos que se indican en la página siguiente de este tutorial para ofrecer predicciones de tu modelo de aprendizaje automático entrenado.