En esta página, se describe cómo usar Vertex AI para exportar tus modelos de AutoML Edge de imágenes y videos a Cloud Storage.
Para obtener información sobre la exportación de modelos tabulares, consulta Exporta un modelo tabular de AutoML.
Introducción
Después de entrenar un modelo de AutoML Edge, puedes exportar el modelo en diferentes formatos en función de cómo deseas usarlo. Los archivos del modelo exportado se guardan en un bucket de Cloud Storage y se pueden usar para la predicción en el entorno que elijas.
No puedes usar un modelo de Edge en Vertex AI para entregar predicciones. Debes implementar el modelo de Edge en un dispositivo externo para obtener predicciones.
Exporta un modelo
Usa las siguientes muestras de código para identificar un modelo de AutoML Edge, especificar una ubicación de almacenamiento de archivos de salida y enviar la solicitud del modelo de exportación.
Imagen
A continuación, selecciona la pestaña para tu objetivo:
Clasificación
Los modelos de clasificación de imágenes de AutoML Edge entrenados se pueden exportar en los siguientes formatos:
- TF Lite: Exporta tu modelo como paquete de TF Lite para ejecutarlo en dispositivos perimetrales o móviles.
- Edge TPU TF Lite: Exporta tu modelo como paquete de TF Lite para ejecutarlo en dispositivos de Edge TPU.
- Contenedor: Exporta tu modelo como un modelo de TF guardado para ejecutarlo en un contenedor de 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 ejecutar tu modelo en el navegador y en Node.js.
Selecciona la pestaña correspondiente a tu idioma o entorno:
Console
- En la sección Vertex AI de la consola de Google Cloud, ve a la página Modelos.
- Haz clic en el número de versión del modelo de AutoML Edge que quieres exportar para abrir su página de detalles.
- Haz clic en Exportar.
- En la ventana lateral Exportar modelo, especifica la ubicación en Cloud Storage para almacenar el resultado de exportación del modelo de Edge.
- Haz clic en Exportar.
- Haz clic en Listo para cerrar la ventana lateral Exportar modelo.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: La ubicación de tu proyecto
- PROJECT: El ID del proyecto.
- MODEL_ID: El número de ID del modelo entrenado de AutoML Edge que estás exportando.
- EXPORT_FORMAT: El tipo de modelo de Edge que estás exportando. Para este objetivo, las opciones son las siguientes:
tflite
(TF Lite): Exporta tu modelo como paquete de TF Lite para ejecutarlo en dispositivos perimetrales o móviles.edgetpu-tflite
(Edge TPU TF Lite): Exporta tu modelo como paquete de TF Lite para ejecutar el modelo en dispositivos de Edge TPU.tf-saved-model
(Contenedor): Exporta tu modelo como un modelo de TF guardado para ejecutarlo en un contenedor de 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 ejecutar tu modelo en el navegador y en Node.js.
- OUTPUT_BUCKET: La ruta de acceso al directorio del bucket de Cloud Storage en el que deseas 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 y los OPERATION_ID.
Puedes obtener el estado de la operación de exportación para ver cuándo finaliza.
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Clasificación
Los modelos de clasificación de imágenes de AutoML Edge entrenados se pueden exportar en los siguientes formatos:
- TF Lite: Exporta tu modelo como paquete de TF Lite para ejecutarlo en dispositivos perimetrales o móviles.
- Edge TPU TF Lite: Exporta tu modelo como paquete de TF Lite para ejecutarlo en dispositivos de Edge TPU.
- Contenedor: Exporta tu modelo como un modelo de TF guardado para ejecutarlo en un contenedor de 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 ejecutar tu modelo en el navegador y en Node.js.
Selecciona la pestaña correspondiente a tu idioma o entorno:
Console
- En la sección Vertex AI de la consola de Google Cloud, ve a la página Modelos.
- Haz clic en el número de versión del modelo de AutoML Edge que quieres exportar para abrir su página de detalles.
- Haz clic en Exportar.
- En la ventana lateral Exportar modelo, especifica la ubicación en Cloud Storage para almacenar el resultado de exportación del modelo de Edge.
- Haz clic en Exportar.
- Haz clic en Listo para cerrar la ventana lateral Exportar modelo.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: La ubicación de tu proyecto
- PROJECT: El ID del proyecto.
- MODEL_ID: El número de ID del modelo entrenado de AutoML Edge que estás exportando.
- EXPORT_FORMAT: El tipo de modelo de Edge que estás exportando. Para este objetivo, las opciones son las siguientes:
tflite
(TF Lite): Exporta tu modelo como paquete de TF Lite para ejecutarlo en dispositivos perimetrales o móviles.edgetpu-tflite
(Edge TPU TF Lite): Exporta tu modelo como paquete de TF Lite para ejecutar el modelo en dispositivos de Edge TPU.tf-saved-model
(Contenedor): Exporta tu modelo como un modelo de TF guardado para ejecutarlo en un contenedor de 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 ejecutar tu modelo en el navegador y en Node.js.
- OUTPUT_BUCKET: La ruta de acceso al directorio del bucket de Cloud Storage en el que deseas 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 y los OPERATION_ID.
Puedes obtener el estado de la operación de exportación para ver cuándo finaliza.
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Object Detection
Los modelos de detección de objetos de imagen entrenados de AutoML Edge se pueden exportar en los siguientes formatos:
- TF Lite: Exporta tu modelo como paquete de TF Lite para ejecutarlo en dispositivos perimetrales o móviles.
- Contenedor: Exporta tu modelo como un modelo de TF guardado para ejecutarlo en un contenedor de Docker.
- Tensorflow.js: Exporta tu modelo como un paquete de TensorFlow.js para ejecutar tu modelo en el navegador y en Node.js.
Selecciona la pestaña correspondiente a tu idioma o entorno:
Console
- En la sección Vertex AI de la consola de Google Cloud, ve a la página Modelos.
- Haz clic en el número de versión del modelo de AutoML Edge que quieres exportar para abrir su página de detalles.
- Selecciona la pestaña Implementar y probar para ver los formatos de exportación disponibles.
- Selecciona el formato de modelo de exportación que prefieras en la sección Usa tu modelo optimizado de Edge.
- En la ventana lateral Exportar modelo, especifica la ubicación en Cloud Storage para almacenar el resultado de exportación del modelo de Edge.
- Haz clic en Exportar.
- Haz clic en Listo para cerrar la ventana lateral Exportar modelo.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: La ubicación de tu proyecto
- PROJECT: El ID del proyecto.
- MODEL_ID: El número de ID del modelo entrenado de AutoML Edge que estás exportando.
- EXPORT_FORMAT: El tipo de modelo de Edge que estás exportando. Para este objetivo, las opciones son las siguientes:
tflite
(TF Lite): Exporta tu modelo como paquete de TF Lite para ejecutarlo en dispositivos perimetrales o móviles.tf-saved-model
(Contenedor): Exporta tu modelo como un modelo de TF guardado para ejecutarlo en un contenedor de Docker.tf-js
(Tensorflow.js): Exporta tu modelo como un paquete de TensorFlow.js para ejecutar tu modelo en el navegador y en Node.js.
- OUTPUT_BUCKET: La ruta de acceso al directorio del bucket de Cloud Storage en el que deseas 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 y los OPERATION_ID.
Puedes obtener el estado de la operación de exportación para ver cuándo finaliza.
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Video
A continuación, selecciona la pestaña para tu objetivo:
Reconocimiento de acciones
Los modelos de reconocimiento de acciones de video entrenados de AutoML Edge se pueden exportar en el formato de modelo guardado.
Selecciona la pestaña correspondiente a tu idioma o entorno:
Console
- En la sección Vertex AI de la consola de Google Cloud, ve a la página Modelos.
- Haz clic en el número de versión del modelo de AutoML Edge que quieres exportar para abrir su página de detalles.
- Haz clic en Exportar.
- En la ventana lateral Exportar modelo, especifica la ubicación en Cloud Storage para almacenar el resultado de exportación del modelo de Edge.
- Haz clic en Exportar.
- Haz clic en Listo para cerrar la ventana lateral Exportar modelo.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Región en la que se almacena el modelo. Por ejemplo,
us-central1
. - MODEL_ID: El número de ID del modelo entrenado de AutoML Edge que estás exportando.
- EXPORT_FORMAT: El tipo de modelo de Edge que estás exportando. Para el reconocimiento de acciones de video, la opción del modelo es la siguiente:
tf-saved-model
(Contenedor): Exporta tu modelo como un modelo de TF guardado para ejecutarlo en un contenedor de Docker.
- OUTPUT_BUCKET: La ruta de acceso al directorio del bucket de Cloud Storage en el que deseas almacenar los archivos del modelo de Edge.
- PROJECT_NUMBER: El número de proyecto de tu proyecto generado de forma automática.
HTTP method and 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 y los OPERATION_ID.
Puedes obtener el estado de la operación de exportación para ver cuándo finaliza.
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Clasificación
Los modelos de clasificación de videos entrenados de AutoML Edge solo se pueden exportar en el formato del modelo guardado.
Selecciona la pestaña correspondiente a tu idioma o entorno:
Console
- En la sección Vertex AI de la consola de Google Cloud, ve a la página Modelos.
- Haz clic en el número de versión del modelo de AutoML Edge que quieres exportar para abrir su página de detalles.
- Haz clic en Exportar.
- En la ventana lateral Exportar modelo, especifica la ubicación en Cloud Storage para almacenar el resultado de exportación del modelo de Edge.
- Haz clic en Exportar.
- Haz clic en Listo para cerrar la ventana lateral Exportar modelo.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Región en la que se almacena el modelo. Por ejemplo,
us-central1
. - MODEL_ID: El número de ID del modelo entrenado de AutoML Edge que estás exportando.
- EXPORT_FORMAT: El tipo de modelo de Edge que estás exportando. Para la clasificación de videos, la opción de modelo es la siguiente:
tf-saved-model
(Contenedor): Exporta tu modelo como un modelo de TF guardado para ejecutarlo en un contenedor de Docker.
- OUTPUT_BUCKET: La ruta de acceso al directorio del bucket de Cloud Storage en el que deseas almacenar los archivos del modelo de Edge.
- PROJECT_NUMBER: El número de proyecto de tu proyecto generado de forma automática.
HTTP method and 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 y los 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 obtener el estado de la operación de exportación para ver cuándo finaliza.
Seguimiento de objetos
Los modelos de seguimiento de objetos de video entrenados de AutoML Edge se pueden exportar en los siguientes formatos:
- TF Lite: Exporta tu modelo como paquete de TensorFlow Lite para ejecutarlo en dispositivos periféricos o dispositivos móviles.
- Contenedor: Exporta tu modelo como un modelo guardado de TensorFlow para ejecutarlo en un contenedor de Docker.
Selecciona la pestaña correspondiente a tu idioma o entorno:
Console
- En la sección Vertex AI de la consola de Google Cloud, ve a la página Modelos.
- Haz clic en el número de versión del modelo de AutoML Edge que quieres exportar para abrir su página de detalles.
- Haz clic en Exportar.
- En la ventana lateral Exportar modelo, especifica la ubicación en Cloud Storage para almacenar el resultado de exportación del modelo de Edge.
- Haz clic en Exportar.
- Haz clic en Listo para cerrar la ventana lateral Exportar modelo.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Región en la que se almacena el modelo. Por ejemplo,
us-central1
. - MODEL_ID: El número de ID del modelo entrenado de AutoML Edge que estás exportando.
- EXPORT_FORMAT: El tipo de modelo de Edge que estás exportando. Para los modelos de seguimiento de objetos de video, las opciones son las siguientes:
tflite
(TF Lite): Exporta tu modelo como paquete de TF Lite para ejecutarlo en dispositivos perimetrales o móviles.edgetpu-tflite
(Edge TPU TF Lite): Exporta tu modelo como paquete de TF Lite para ejecutar el modelo en dispositivos de Edge TPU.tf-saved-model
(Contenedor): Exporta tu modelo como un modelo de TF guardado para ejecutarlo en un contenedor de Docker.
- OUTPUT_BUCKET: La ruta de acceso al directorio del bucket de Cloud Storage en el que deseas almacenar los archivos del modelo de Edge.
- PROJECT_NUMBER: El número de proyecto de tu proyecto generado de forma automática.
HTTP method and 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 y los 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 obtener el estado de la operación de exportación para ver cuándo finaliza.
Obtén 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 cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: La ubicación de tu proyecto
- PROJECT: El ID del proyecto.
- OPERATION_ID: El ID de la operación de destino. Por lo general, este ID está 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 siguiente comando:
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 siguiente comando:
$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" } }
Video
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_NUMBER: el número de proyecto de tu proyecto generado de forma automática.
- 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 siguiente comando:
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 siguiente comando:
$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 que se muestra a continuación:
Archivos de salida
Imagen
Selecciona la pestaña a continuación para el formato de tu modelo:
TF Lite
El OUTPUT_BUCKET
que especificaste 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 tiene el siguiente formato:
- gs://OUTPUT_BUCKET/model-MODEL_ID/tflite/YYYY-MM-DDThh:mm:ss.sssZ/
Archivos:
model.tflite
: Un archivo que contiene una versión del modelo que está listo para usarse con TensorFlow Lite.
Edge TPU
El OUTPUT_BUCKET
que especificaste 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 tiene el siguiente formato:
- 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 pasa por el compilador de Edge TPU para que sea compatible con Edge TPU.
Contenedor
El OUTPUT_BUCKET
que especificaste 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 tiene el siguiente formato:
- gs://OUTPUT_BUCKET/model-MODEL_ID/tf-saved-model/YYYY-MM-DDThh:mm:ss.sssZ/
Archivos:
saved_model.pb
: Un archivo de búfer de protocolo que contiene la definición del grafo y los pesos del modelo.
Core ML
El OUTPUT_BUCKET
que especificaste 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 tiene el siguiente formato:
- 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 que muestra el modelo, en el mismo orden en que se solicitaron.Muestra
dict.txt
roses daisy tulips dandelion sunflowers
model.mlmodel
: Un archivo que especifica un modelo de Core ML.
Tensorflow.js
El OUTPUT_BUCKET
que especificaste 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 tiene el siguiente formato:
- 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 que muestra el modelo, en el mismo orden en que se solicitaron.Muestra
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
: Una representación de archivo JSON de un modelo.Muestra
model.json
(abreviado para que sea más claro){ "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" } ] } ] }
Video
Selecciona la pestaña a continuación para el formato de tu modelo:
TF Lite
El OUTPUT_BUCKET
que especificaste 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 tiene el siguiente formato:
- gs://OUTPUT_BUCKET/model-MODEL_ID/tflite/YYYY-MM-DDThh:mm:ss.sssZ/
Archivos:
model.tflite
: Un archivo que contiene una versión del modelo que está listo para usarse con TensorFlow Lite.frozen_inference_graph.pb
: Un archivo de búfer de protocolo serializado que contiene la definición del grafo 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 de número entero.
Edge TPU
El OUTPUT_BUCKET
que especificaste 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 tiene el siguiente formato:
- 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 pasa 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 de número entero.
Contenedor
El OUTPUT_BUCKET
que especificaste 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 tiene el siguiente formato:
- gs://OUTPUT_BUCKET/model-MODEL_ID/tf-saved-model/YYYY-MM-DDThh:mm:ss.sssZ/
Archivos:
frozen_inference_graph.pb
: Un archivo de búfer de protocolo serializado que contiene la definición del grafo 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 de número entero.saved_model/saved_model.pb
: El archivo almacena el programa o el modelo de TensorFlow, y un conjunto de firmas con nombre, cada uno de los cuales identifica una función que acepta entradas de tensor y produce salidas de tensor.saved_model/variables/
: El directorio de variables contiene un punto de control de entrenamiento estándar.