En esta página se describe cómo usar Vertex AI para exportar tus modelos de AutoML Edge de imagen y vídeo a Cloud Storage.
Para obtener información sobre cómo exportar modelos tabulares, consulta el artículo Exportar un modelo tabular de AutoML.
Introducción
Una vez que hayas entrenado un modelo de AutoML Edge, en algunos casos podrás exportarlo en diferentes formatos, en función de cómo quieras usarlo. Los archivos del modelo exportado se guardan en un segmento de Cloud Storage y se pueden usar para hacer predicciones en el entorno que elijas.
No puedes usar un modelo Edge en Vertex AI para ofrecer predicciones. Debes desplegar el modelo Edge en un dispositivo externo para obtener predicciones.
Exportar un modelo
Usa los siguientes ejemplos de código para identificar un modelo de AutoML Edge, especificar una ubicación de almacenamiento de archivos de salida y, a continuación, enviar la solicitud de exportación del modelo.
Imagen
Seleccione la pestaña correspondiente a su objetivo:
Clasificación
Los modelos de clasificación de imágenes de AutoML Edge entrenados se pueden exportar en los siguientes formatos:
- TensorFlow Lite: exporta tu modelo como un paquete de TensorFlow Lite para ejecutarlo en dispositivos perimetrales o móviles.
- TensorFlow Lite de Edge TPU: exporta tu modelo como un paquete de TensorFlow Lite para ejecutarlo en dispositivos Edge TPU.
- Contenedor: exporta tu modelo como un SavedModel de TensorFlow para ejecutarlo en un contenedor Docker.
- Core ML: exporta un archivo .mlmodel para ejecutar tu modelo en dispositivos iOS y macOS.
- Tensorflow.js exporta tu modelo como un paquete de TensorFlow.js para ejecutarlo en el navegador y en Node.js.
Selecciona la pestaña correspondiente a tu idioma o entorno:
Consola
- En la Google Cloud consola, en la sección Vertex AI, ve a la página Modelos.
- Haz clic en el número de versión del modelo de AutoML Edge que quieras exportar para abrir su página de detalles.
- Haz clic en Exportar.
- En la ventana lateral Exportar modelo, especifica la ubicación de Cloud Storage donde se almacenarán los resultados de la exportación del modelo de Edge.
- Haz clic en Exportar.
- Haz clic en Hecho para cerrar la ventana lateral Exportar modelo.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: la ubicación de tu proyecto.
- PROJECT: tu ID de proyecto.
- MODEL_ID: número de ID del modelo de AutoML Edge entrenado que vas a exportar.
- EXPORT_FORMAT: el tipo de modelo de Edge que vas a exportar. Para este objetivo, las opciones son las siguientes:
tflite
(TensorFlow Lite): exporta tu modelo como un paquete de TensorFlow Lite para ejecutarlo en dispositivos perimetrales o móviles.edgetpu-tflite
(TensorFlow Lite de Edge TPU): exporta tu modelo como un paquete de TensorFlow Lite para ejecutarlo en dispositivos Edge TPU.tf-saved-model
(Contenedor): exporta tu modelo como un SavedModel de TensorFlow para ejecutarlo en un contenedor Docker.core-ml
(Core ML): exporta un archivo .mlmodel para ejecutar tu modelo en dispositivos iOS y macOS.tf-js
(Tensorflow.js): exporta tu modelo como un paquete de TensorFlow.js para ejecutarlo en el navegador y en Node.js.
- OUTPUT_BUCKET: ruta al directorio del segmento de Cloud Storage en el que quieres almacenar los archivos del modelo de Edge.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export
Cuerpo JSON de la solicitud:
{ "outputConfig": { "exportFormatId": "EXPORT_FORMAT", "artifactDestination": { "outputUriPrefix": "gs://OUTPUT_BUCKET/" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export" | Select-Object -Expand Content
La respuesta contiene información sobre las especificaciones, así como el elemento OPERATION_ID.
Puedes consultar el estado de la operación de exportación para ver cuándo finaliza.
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Clasificación
Los modelos de clasificación de imágenes de AutoML Edge entrenados se pueden exportar en los siguientes formatos:
- TensorFlow Lite: exporta tu modelo como un paquete de TensorFlow Lite para ejecutarlo en dispositivos perimetrales o móviles.
- TensorFlow Lite de Edge TPU: exporta tu modelo como un paquete de TensorFlow Lite para ejecutarlo en dispositivos Edge TPU.
- Contenedor: exporta tu modelo como un SavedModel de TensorFlow para ejecutarlo en un contenedor Docker.
- Core ML: exporta un archivo .mlmodel para ejecutar tu modelo en dispositivos iOS y macOS.
- Tensorflow.js exporta tu modelo como un paquete de TensorFlow.js para ejecutarlo en el navegador y en Node.js.
Selecciona la pestaña correspondiente a tu idioma o entorno:
Consola
- En la Google Cloud consola, en la sección Vertex AI, ve a la página Modelos.
- Haz clic en el número de versión del modelo de AutoML Edge que quieras exportar para abrir su página de detalles.
- Haz clic en Exportar.
- En la ventana lateral Exportar modelo, especifica la ubicación de Cloud Storage donde se almacenarán los resultados de la exportación del modelo de Edge.
- Haz clic en Exportar.
- Haz clic en Hecho para cerrar la ventana lateral Exportar modelo.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: la ubicación de tu proyecto.
- PROJECT: tu ID de proyecto.
- MODEL_ID: número de ID del modelo de AutoML Edge entrenado que vas a exportar.
- EXPORT_FORMAT: el tipo de modelo de Edge que vas a exportar. Para este objetivo, las opciones son las siguientes:
tflite
(TensorFlow Lite): exporta tu modelo como un paquete de TensorFlow Lite para ejecutarlo en dispositivos perimetrales o móviles.edgetpu-tflite
(TensorFlow Lite de Edge TPU): exporta tu modelo como un paquete de TensorFlow Lite para ejecutarlo en dispositivos Edge TPU.tf-saved-model
(Contenedor): exporta tu modelo como un SavedModel de TensorFlow para ejecutarlo en un contenedor Docker.core-ml
(Core ML): exporta un archivo .mlmodel para ejecutar tu modelo en dispositivos iOS y macOS.tf-js
(Tensorflow.js): exporta tu modelo como un paquete de TensorFlow.js para ejecutarlo en el navegador y en Node.js.
- OUTPUT_BUCKET: ruta al directorio del segmento de Cloud Storage en el que quieres almacenar los archivos del modelo de Edge.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export
Cuerpo JSON de la solicitud:
{ "outputConfig": { "exportFormatId": "EXPORT_FORMAT", "artifactDestination": { "outputUriPrefix": "gs://OUTPUT_BUCKET/" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export" | Select-Object -Expand Content
La respuesta contiene información sobre las especificaciones, así como el elemento OPERATION_ID.
Puedes consultar el estado de la operación de exportación para ver cuándo finaliza.
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Detección de objetos
Los modelos de detección de objetos en imágenes de AutoML Edge entrenados se pueden exportar en los siguientes formatos:
- TensorFlow Lite: exporta tu modelo como un paquete de TensorFlow Lite para ejecutarlo en dispositivos perimetrales o móviles.
- Contenedor: exporta tu modelo como un SavedModel de TensorFlow para ejecutarlo en un contenedor Docker.
- Tensorflow.js exporta tu modelo como un paquete de TensorFlow.js para ejecutarlo en el navegador y en Node.js.
Selecciona la pestaña correspondiente a tu idioma o entorno:
Consola
- En la Google Cloud consola, en la sección Vertex AI, ve a la página Modelos.
- Haz clic en el número de versión del modelo de AutoML Edge que quieras exportar para abrir su página de detalles.
- Seleccione la pestaña Implementar y probar para ver los formatos de exportación disponibles.
- En la sección Usar tu modelo optimizado para el extremo, selecciona el formato del modelo de exportación que quieras.
- En la ventana lateral Exportar modelo, especifica la ubicación de Cloud Storage donde se almacenarán los resultados de la exportación del modelo de Edge.
- Haz clic en Exportar.
- Haz clic en Hecho para cerrar la ventana lateral Exportar modelo.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: la ubicación de tu proyecto.
- PROJECT: .
- MODEL_ID: número de ID del modelo de AutoML Edge entrenado que vas a exportar.
- EXPORT_FORMAT: el tipo de modelo de Edge que vas a exportar. Para este objetivo, las opciones son las siguientes:
tflite
(TensorFlow Lite): exporta tu modelo como un paquete de TensorFlow Lite para ejecutarlo en dispositivos perimetrales o móviles.tf-saved-model
(Contenedor): exporta tu modelo como un SavedModel de TensorFlow para ejecutarlo en un contenedor Docker.tf-js
(Tensorflow.js): exporta tu modelo como un paquete de TensorFlow.js para ejecutarlo en el navegador y en Node.js.
- OUTPUT_BUCKET: ruta al directorio del segmento de Cloud Storage en el que quieres almacenar los archivos del modelo de Edge.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export
Cuerpo JSON de la solicitud:
{ "outputConfig": { "exportFormatId": "EXPORT_FORMAT", "artifactDestination": { "outputUriPrefix": "gs://OUTPUT_BUCKET/" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export" | Select-Object -Expand Content
La respuesta contiene información sobre las especificaciones, así como el elemento OPERATION_ID.
Puedes consultar el estado de la operación de exportación para ver cuándo finaliza.
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Vídeo
Seleccione la pestaña correspondiente a su objetivo:
Reconocimiento de acciones
Los modelos de reconocimiento de acciones en vídeos de AutoML Edge entrenados se pueden exportar en formato de modelo guardado.
Selecciona la pestaña correspondiente a tu idioma o entorno:
Consola
- En la Google Cloud consola, en la sección Vertex AI, ve a la página Modelos.
- Haz clic en el número de versión del modelo de AutoML Edge que quieras exportar para abrir su página de detalles.
- Haz clic en Exportar.
- En la ventana lateral Exportar modelo, especifica la ubicación de Cloud Storage donde se almacenarán los resultados de la exportación del modelo de Edge.
- Haz clic en Exportar.
- Haz clic en Hecho para cerrar la ventana lateral Exportar modelo.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: región en la que se almacena el modelo. Por ejemplo,
us-central1
. - MODEL_ID: número de ID del modelo de AutoML Edge entrenado que vas a exportar.
- EXPORT_FORMAT: el tipo de modelo de Edge que vas a exportar. En el caso del reconocimiento de acciones en vídeos, la opción de modelo es:
tf-saved-model
(Contenedor): exporta tu modelo como un SavedModel de TensorFlow para ejecutarlo en un contenedor Docker.
- OUTPUT_BUCKET: ruta al directorio del segmento de Cloud Storage en el que quieres almacenar los archivos del modelo de Edge.
- PROJECT_NUMBER: el número de proyecto que se genera automáticamente.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export
Cuerpo JSON de la solicitud:
{ "outputConfig": { "exportFormatId": "EXPORT_FORMAT", "artifactDestination": { "outputUriPrefix": "gs://OUTPUT_BUCKET/" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export" | Select-Object -Expand Content
La respuesta contiene información sobre las especificaciones, así como el elemento OPERATION_ID.
Puedes consultar el estado de la operación de exportación para ver cuándo finaliza.
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Clasificación
Los modelos de clasificación de vídeo de AutoML Edge entrenados solo se pueden exportar en formato de modelo guardado.
Selecciona la pestaña correspondiente a tu idioma o entorno:
Consola
- En la Google Cloud consola, en la sección Vertex AI, ve a la página Modelos.
- Haz clic en el número de versión del modelo de AutoML Edge que quieras exportar para abrir su página de detalles.
- Haz clic en Exportar.
- En la ventana lateral Exportar modelo, especifica la ubicación de Cloud Storage donde se almacenarán los resultados de la exportación del modelo de Edge.
- Haz clic en Exportar.
- Haz clic en Hecho para cerrar la ventana lateral Exportar modelo.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: región en la que se almacena el modelo. Por ejemplo,
us-central1
. - MODEL_ID: número de ID del modelo de AutoML Edge entrenado que vas a exportar.
- EXPORT_FORMAT: el tipo de modelo de Edge que vas a exportar. En el caso de la clasificación de vídeos,
la opción de modelo es:
tf-saved-model
(Contenedor): exporta tu modelo como un SavedModel de TensorFlow para ejecutarlo en un contenedor Docker.
- OUTPUT_BUCKET: ruta al directorio del segmento de Cloud Storage en el que quieres almacenar los archivos del modelo de Edge.
- PROJECT_NUMBER: el número de proyecto que se genera automáticamente.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export
Cuerpo JSON de la solicitud:
{ "outputConfig": { "exportFormatId": "EXPORT_FORMAT", "artifactDestination": { "outputUriPrefix": "gs://OUTPUT_BUCKET/" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export" | Select-Object -Expand Content
La respuesta contiene información sobre las especificaciones, así como el elemento OPERATION_ID.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ExportModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-12T20:53:40.130785Z", "updateTime": "2020-10-12T20:53:40.130785Z" }, "outputInfo": { "artifactOutputUri": "gs://OUTPUT_BUCKET/model-MODEL_ID/EXPORT_FORMAT/YYYY-MM-DDThh:mm:ss.sssZ" } } }
Puedes consultar el estado de la operación de exportación para ver cuándo finaliza.
Monitorización de objetos
Los modelos de seguimiento de objetos de vídeo de AutoML Edge entrenados se pueden exportar en los siguientes formatos:
- TensorFlow Lite: exporta tu modelo como un paquete de TensorFlow Lite para ejecutarlo en dispositivos perimetrales o móviles.
- Contenedor: exporta tu modelo como un SavedModel de TensorFlow para ejecutarlo en un contenedor Docker.
Selecciona la pestaña correspondiente a tu idioma o entorno:
Consola
- En la Google Cloud consola, en la sección Vertex AI, ve a la página Modelos.
- Haz clic en el número de versión del modelo de AutoML Edge que quieras exportar para abrir su página de detalles.
- Haz clic en Exportar.
- En la ventana lateral Exportar modelo, especifica la ubicación de Cloud Storage donde se almacenarán los resultados de la exportación del modelo de Edge.
- Haz clic en Exportar.
- Haz clic en Hecho para cerrar la ventana lateral Exportar modelo.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: región en la que se almacena el modelo. Por ejemplo,
us-central1
. - MODEL_ID: número de ID del modelo de AutoML Edge entrenado que vas a exportar.
- EXPORT_FORMAT: el tipo de modelo de Edge que vas a exportar. En el caso de los modelos de monitorización de objetos de vídeo, las opciones son las siguientes:
tflite
(TensorFlow Lite): exporta tu modelo como un paquete de TensorFlow Lite para ejecutarlo en dispositivos perimetrales o móviles.edgetpu-tflite
(TensorFlow Lite de Edge TPU): exporta tu modelo como un paquete de TensorFlow Lite para ejecutarlo en dispositivos Edge TPU.tf-saved-model
(Contenedor): exporta tu modelo como un SavedModel de TensorFlow para ejecutarlo en un contenedor Docker.
- OUTPUT_BUCKET: ruta al directorio del segmento de Cloud Storage en el que quieres almacenar los archivos del modelo de Edge.
- PROJECT_NUMBER: el número de proyecto que se genera automáticamente.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export
Cuerpo JSON de la solicitud:
{ "outputConfig": { "exportFormatId": "EXPORT_FORMAT", "artifactDestination": { "outputUriPrefix": "gs://OUTPUT_BUCKET/" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export" | Select-Object -Expand Content
La respuesta contiene información sobre las especificaciones, así como el elemento OPERATION_ID.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ExportModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-12T20:53:40.130785Z", "updateTime": "2020-10-12T20:53:40.130785Z" }, "outputInfo": { "artifactOutputUri": "gs://OUTPUT_BUCKET/model-MODEL_ID/EXPORT_FORMAT/YYYY-MM-DDThh:mm:ss.sssZ" } } }
Puedes consultar el estado de la operación de exportación para ver cuándo finaliza.
Obtener el estado de la operación
Imagen
Usa el siguiente código para obtener el estado de la operación de exportación. Este código es el mismo para todos los objetivos:
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: la ubicación de tu proyecto.
- PROJECT: .
- OPERATION_ID:ID de la operación de destino. Normalmente, este ID se incluye en la respuesta a la solicitud original.
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/operations/OPERATION_ID
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/operations/OPERATION_ID"
PowerShell
Ejecuta el comando siguiente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/operations/OPERATION_ID" | Select-Object -Expand Content
{ "name": "projects/PROJECT/locations/LOCATION/models/MODEL_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ExportModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-12T20:53:40.130785Z", "updateTime": "2020-10-12T20:53:40.793983Z" }, "outputInfo": { "artifactOutputUri": "gs://OUTPUT_BUCKET/model-MODEL_ID/EXPORT_FORMAT/YYYY-MM-DDThh:mm:ss.sssZ" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ExportModelResponse" } }
Vídeo
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_NUMBER: el número de proyecto que se genera automáticamente.
- LOCATION: región en la que se almacena el modelo. Por ejemplo,
us-central1
. - OPERATION_ID: ID de tus operaciones.
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/operations/OPERATION_ID
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/operations/OPERATION_ID"
PowerShell
Ejecuta el comando siguiente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/operations/OPERATION_ID" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
Archivos de salida
Imagen
Selecciona la pestaña correspondiente al formato de tu modelo:
TF Lite
El OUTPUT_BUCKET
que hayas especificado en la solicitud determina dónde se almacenan los archivos de salida. El formato del directorio en el que se almacenan los archivos de salida es el siguiente:
- gs://OUTPUT_BUCKET/model-MODEL_ID/tflite/YYYY-MM-DDThh:mm:ss.sssZ/
Archivos:
model.tflite
: archivo que contiene una versión del modelo lista para usarse con TensorFlow Lite.
Edge TPU
El OUTPUT_BUCKET
que hayas especificado en la solicitud determina dónde se almacenan los archivos de salida. El formato del directorio en el que se almacenan los archivos de salida es el siguiente:
- gs://OUTPUT_BUCKET/model-MODEL_ID/edgetpu-tflite/YYYY-MM-DDThh:mm:ss.sssZ/
Archivos:
edgetpu_model.tflite
: un archivo que contiene una versión del modelo para TensorFlow Lite, que se ha pasado por el compilador de Edge TPU para que sea compatible con Edge TPU.
Container
El OUTPUT_BUCKET
que hayas especificado en la solicitud determina dónde se almacenan los archivos de salida. El formato del directorio en el que se almacenan los archivos de salida es el siguiente:
- gs://OUTPUT_BUCKET/model-MODEL_ID/tf-saved-model/YYYY-MM-DDThh:mm:ss.sssZ/
Archivos:
saved_model.pb
: archivo de búfer de protocolo que contiene la definición del gráfico y las ponderaciones del modelo.
Core ML
El OUTPUT_BUCKET
que hayas especificado en la solicitud determina dónde se almacenan los archivos de salida. El formato del directorio en el que se almacenan los archivos de salida es el siguiente:
- gs://OUTPUT_BUCKET/model-MODEL_ID/core-ml/YYYY-MM-DDThh:mm:ss.sssZ/
Archivos:
dict.txt
: un archivo de etiquetas. Cada línea del archivo de etiquetasdict.txt
representa una etiqueta de las predicciones devueltas por el modelo, en el mismo orden en que se solicitaron.Ejemplo
dict.txt
roses daisy tulips dandelion sunflowers
model.mlmodel
: un archivo que especifica un modelo de Core ML.
Tensorflow.js
El OUTPUT_BUCKET
que hayas especificado en la solicitud determina dónde se almacenan los archivos de salida. El formato del directorio en el que se almacenan los archivos de salida es el siguiente:
- gs://OUTPUT_BUCKET/model-MODEL_ID/tf-js/YYYY-MM-DDThh:mm:ss.sssZ/
Archivos:
dict.txt
: un archivo de etiquetas. Cada línea del archivo de etiquetasdict.txt
representa una etiqueta de las predicciones devueltas por el modelo, en el mismo orden en que se solicitaron.Ejemplo
dict.txt
roses daisy tulips dandelion sunflowers
group1-shard1of3.bin
: un archivo binario.group1-shard2of3.bin
: un archivo binario.group1-shard3of3.bin
: un archivo binario.model.json
: representación de un modelo en un archivo JSON.Ejemplo
model.json
(se ha acortado para mayor claridad){ "format": "graph-model", "generatedBy": "2.4.0", "convertedBy": "TensorFlow.js Converter v1.7.0", "userDefinedMetadata": { "signature": { "inputs": { "image:0": { "name": "image:0", "dtype": "DT_FLOAT", "tensorShape": { "dim": [ { "size": "1" }, { "size": "224" }, { "size": "224" }, { "size": "3" } ] } } }, "outputs": { "scores:0": { "name": "scores:0", "dtype": "DT_FLOAT", "tensorShape": { "dim": [ { "size": "1" }, { "size": "5" } ] } } } } }, "modelTopology": { "node": [ { "name": "image", "op": "Placeholder", "attr": { "dtype": { "type": "DT_FLOAT" }, "shape": { "shape": { "dim": [ { "size": "1" }, { "size": "224" }, { "size": "224" }, { "size": "3" } ] } } } }, { "name": "mnas_v4_a_1/feature_network/feature_extractor/Mean/reduction_indices", "op": "Const", "attr": { "value": { "tensor": { "dtype": "DT_INT32", "tensorShape": { "dim": [ { "size": "2" } ] } } }, "dtype": { "type": "DT_INT32" } } }, ... { "name": "scores", "op": "Identity", "input": [ "Softmax" ], "attr": { "T": { "type": "DT_FLOAT" } } } ], "library": {}, "versions": {} }, "weightsManifest": [ { "paths": [ "group1-shard1of3.bin", "group1-shard2of3.bin", "group1-shard3of3.bin" ], "weights": [ { "name": "mnas_v4_a_1/feature_network/feature_extractor/Mean/reduction_indices", "shape": [ 2 ], "dtype": "int32" }, { "name": "mnas_v4_a/output/fc/tf_layer/kernel", "shape": [ 1280, 5 ], "dtype": "float32" }, ... { "name": "mnas_v4_a_1/feature_network/lead_cell_17/op_0/conv2d_0/Conv2D_weights", "shape": [ 1, 1, 320, 1280 ], "dtype": "float32" }, { "name": "mnas_v4_a_1/feature_network/cell_14/op_0/expand_0/Conv2D_bn_offset", "shape": [ 1152 ], "dtype": "float32" } ] } ] }
Vídeo
Selecciona la pestaña correspondiente al formato de tu modelo:
TF Lite
El OUTPUT_BUCKET
que hayas especificado en la solicitud determina dónde se almacenan los archivos de salida. El formato del directorio en el que se almacenan los archivos de salida es el siguiente:
- gs://OUTPUT_BUCKET/model-MODEL_ID/tflite/YYYY-MM-DDThh:mm:ss.sssZ/
Archivos:
model.tflite
: archivo que contiene una versión del modelo lista para usarse con TensorFlow Lite.frozen_inference_graph.pb
: archivo de búfer de protocolo serializado que contiene la definición del gráfico y las ponderaciones del modelo.label_map.pbtxt
: un archivo de mapa de etiquetas que asigna cada una de las etiquetas usadas a un valor entero.
Edge TPU
El OUTPUT_BUCKET
que hayas especificado en la solicitud determina dónde se almacenan los archivos de salida. El formato del directorio en el que se almacenan los archivos de salida es el siguiente:
- gs://OUTPUT_BUCKET/model-MODEL_ID/edgetpu-tflite/YYYY-MM-DDThh:mm:ss.sssZ/
Archivos:
edgetpu_model.tflite
: un archivo que contiene una versión del modelo para TensorFlow Lite, que se ha pasado por el compilador de Edge TPU para que sea compatible con Edge TPU.label_map.pbtxt
: un archivo de mapa de etiquetas que asigna cada una de las etiquetas usadas a un valor entero.
Container
El OUTPUT_BUCKET
que hayas especificado en la solicitud determina dónde se almacenan los archivos de salida. El formato del directorio en el que se almacenan los archivos de salida es el siguiente:
- gs://OUTPUT_BUCKET/model-MODEL_ID/tf-saved-model/YYYY-MM-DDThh:mm:ss.sssZ/
Archivos:
frozen_inference_graph.pb
: archivo de búfer de protocolo serializado que contiene la definición del gráfico y las ponderaciones del modelo.label_map.pbtxt
: un archivo de mapa de etiquetas que asigna cada una de las etiquetas usadas a un valor entero.saved_model/saved_model.pb
: el archivo almacena el programa de TensorFlow o el modelo propiamente dicho, así como un conjunto de firmas con nombre. Cada una de ellas identifica una función que acepta entradas de tensor y genera salidas de tensor.saved_model/variables/
: el directorio de variables contiene un punto de control de entrenamiento estándar.