Después de crear (entrenar) un modelo, puedes exportar tu modelo personalizado.
Después de exportar el modelo, puedes implementarlo en un dispositivo.
Puedes exportar un modelo de clasificación de imágenes en los siguientes formatos:
- TensorFlow Lite
- Modelo guardado de TensorFlow para usar en un contenedor de Docker
- TensorFlow Lite compilado con Edge TPU
- TensorFlow.js para la Web
Exporta a dispositivos
Modelos de TensorFlow Lite
IU web
Abre Vision Dashboard y haz clic en el ícono de la bombilla en la barra de navegación izquierda para ver los modelos disponibles.
Para ver los de un proyecto diferente, selecciónalo de la lista desplegable en la parte superior derecha de la barra de título.
Haz clic en la fila del modelo que deseas usar para etiquetar tus imágenes.
Haz clic en la pestaña Prueba y uso que se encuentra debajo de la barra de título.
En la sección Usa tu modelo, selecciona la opción TF Lite. Después de seleccionar la opción TF Lite y especificar la ubicación de exportación en Cloud Storage en la ventana lateral, selecciona Export (Exportar) para exportar el modelo de Edge de TF Lite.
REST
En el campo "modelFormat"
, especifica "tflite"
(valor predeterminado).
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del proyecto de GCP.
- model-id: Es el ID del modelo, que se muestra en la respuesta que recibiste cuando lo creaste. El ID es el último elemento del nombre del modelo.
Por ejemplo:
- Nombre del modelo:
projects/project-id/locations/location-id/models/IOD4412217016962778756
- ID del modelo:
IOD4412217016962778756
- Nombre del modelo:
- output-storage-bucket: Es un depósito o directorio de Google Cloud Storage para guardar archivos de salida, que se expresa en el siguiente formato:
gs://bucket/directory/
. El usuario que realice la solicitud debe tener permiso de escritura en el bucket.
Método HTTP y URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:export
Cuerpo JSON de la solicitud:
{ "outputConfig": { "modelFormat": "tflite", "gcsDestination": { "outputUriPrefix": "OUTPUT_STORAGE_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 "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/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"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:export" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-07-22T21:23:21.643041Z", "updateTime": "2019-07-22T21:23:21.643041Z", "exportModelDetails": { "outputInfo": { "gcsOutputDirectory": "OUTPUT_STORAGE_BUCKET/model-export/icn/tflite-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ" } } } }
Como resultado, verás una estructura de carpetas en el directorio que proporcionaste (CLOUD_STORAGE_BUCKET/[DIRECTORY]). La estructura de carpetas creada tendrá el siguiente formato general (marca de tiempo en formato ISO-8601):
CLOUD_STORAGE_BUCKET/model-export/icn/MODEL_TYPE-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ
Por ejemplo:
CLOUD_STORAGE_BUCKET/model-export/icn/tf-saved-model-DATASET_NAME-2019-07-22T21:25:35.135Z
CLOUD_STORAGE_BUCKET/model-export/icn/tflite-DATASET_NAME-2019-07-22T21:23:18.861Z
La carpeta contiene un modelo de TensorFlow Lite llamado model.tflite
, un archivo de etiquetas llamado dict.txt
y un archivo tflite_metadata.json
.
Usa el modelo exportado
Después de exportar tu modelo a un depósito de Google Cloud Storage, puedes implementar el modelo de AutoML Vision Edge en dispositivos Android, dispositivos iOS o Raspberry Pi 3.
Modelos de Core ML
IU web
Abre Vision Dashboard y haz clic en el ícono de la bombilla en la barra de navegación izquierda para ver los modelos disponibles.
Para ver los de un proyecto diferente, selecciónalo de la lista desplegable en la parte superior derecha de la barra de título.
Haz clic en la fila del modelo que deseas usar para etiquetar tus imágenes.
Haz clic en la pestaña Prueba y uso que se encuentra debajo de la barra de título.
En la sección Usa tu modelo, selecciona la opción Core ML. Después de seleccionar la opción Core ML y especificar la ubicación de exportación en Cloud Storage en la ventana lateral, haz clic en Export (Exportar) para exportar el modelo de Edge.
REST
En el campo "modelFormat"
, especifica "core_ml"
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del proyecto de GCP.
- model-id: Es el ID del modelo, que se muestra en la respuesta que recibiste cuando lo creaste. El ID es el último elemento del nombre del modelo.
Por ejemplo:
- Nombre del modelo:
projects/project-id/locations/location-id/models/IOD4412217016962778756
- ID del modelo:
IOD4412217016962778756
- Nombre del modelo:
- output-storage-bucket: Es un depósito o directorio de Google Cloud Storage para guardar archivos de salida, que se expresa en el siguiente formato:
gs://bucket/directory/
. El usuario que realice la solicitud debe tener permiso de escritura en el bucket.
Método HTTP y URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:export
Cuerpo JSON de la solicitud:
{ "outputConfig": { "modelFormat": "core_ml", "gcsDestination": { "outputUriPrefix": "OUTPUT_STORAGE_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 "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/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"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:export" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-11-12T22:53:55.290584Z", "updateTime": "2019-11-12T22:53:55.290584Z", "exportModelDetails": { "outputInfo": { "gcsOutputDirectory": "OUTPUT_STORAGE_BUCKET/model-export/icn/core_ml-DATASET_NAME_YYYY-MM-DDThh:mm:ss.sssZ/" } } } }
Como resultado, verás una estructura de carpetas en el directorio que proporcionaste (CLOUD_STORAGE_BUCKET/[DIRECTORY]). La estructura de carpetas creada tendrá el siguiente formato general (marca de tiempo en formato ISO-8601):
CLOUD_STORAGE_BUCKET/model-export/icn/MODEL_TYPE-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ
Por ejemplo:
CLOUD_STORAGE_BUCKET/model-export/icn/tf-saved-model-DATASET_NAME-2019-07-22T21:25:35.135Z
CLOUD_STORAGE_BUCKET/model-export/icn/tflite-DATASET_NAME-2019-07-22T21:23:18.861Z
La carpeta contiene un modelo de Core ML llamado model.mlmodel
y un archivo de etiqueta dict.txt
.
Usa el modelo exportado
Después de exportar el modelo a un bucket de Google Cloud Storage, puedes implementar el modelo de AutoML Vision Edge en dispositivos iOS.
Exporta a un contenedor
IU web
Abre Vision Dashboard y haz clic en el ícono de la bombilla en la barra de navegación izquierda para ver los modelos disponibles.
Para ver los de un proyecto diferente, selecciónalo de la lista desplegable en la parte superior derecha de la barra de título.
Haz clic en la fila del modelo que deseas usar para etiquetar tus imágenes.
Haz clic en la pestaña Prueba y uso que se encuentra debajo de la barra de título.
En la sección Usa tu modelo, selecciona la opción Container (Contenedor). Después de seleccionar la opción Container (Contenedor) y especificar la ubicación de exportación en Cloud Storage en la ventana lateral, haz clic en Export (Exportar) para exportar el modelo de Edge.
REST
En el campo "modelFormat"
, especifica "tf-saved-model"
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del proyecto de GCP.
- model-id: Es el ID del modelo, que se muestra en la respuesta que recibiste cuando lo creaste. El ID es el último elemento del nombre del modelo.
Por ejemplo:
- Nombre del modelo:
projects/project-id/locations/location-id/models/IOD4412217016962778756
- ID del modelo:
IOD4412217016962778756
- Nombre del modelo:
- output-storage-bucket: Es un depósito o directorio de Google Cloud Storage para guardar archivos de salida, que se expresa en el siguiente formato:
gs://bucket/directory/
. El usuario que realice la solicitud debe tener permiso de escritura en el bucket.
Método HTTP y URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:export
Cuerpo JSON de la solicitud:
{ "outputConfig": { "modelFormat": "tf-saved-model", "gcsDestination": { "outputUriPrefix": "OUTPUT_STORAGE_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 "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/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"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:export" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-07-22T21:23:21.643041Z", "updateTime": "2019-07-22T21:23:21.643041Z", "exportModelDetails": { "outputInfo": { "gcsOutputDirectory": "OUTPUT_STORAGE_BUCKET/model-export/icn/tf-saved-model-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ" } } } }
Como resultado, verás una estructura de carpetas en el directorio que proporcionaste (CLOUD_STORAGE_BUCKET/[DIRECTORY]). La estructura de carpetas creada tendrá el siguiente formato general (marca de tiempo en formato ISO-8601):
CLOUD_STORAGE_BUCKET/model-export/icn/MODEL_TYPE-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ
Por ejemplo:
CLOUD_STORAGE_BUCKET/model-export/icn/tf-saved-model-DATASET_NAME-2019-07-22T21:25:35.135Z
CLOUD_STORAGE_BUCKET/model-export/icn/tflite-DATASET_NAME-2019-07-22T21:23:18.861Z
La carpeta contiene un modelo de TensorFlow llamado saved_model.pb
.
Usa el modelo exportado
Después de exportar el modelo a un bucket de Google Cloud Storage, puedes usarlo para hacer predicciones en una imagen de Docker. Consulta el Instructivo sobre contenedores a fin de obtener instrucciones para implementar en un contenedor.
Exporta a Edge TPU
IU web
Abre el Panel de Vision y haz clic en el ícono de la bombilla en la barra de navegación izquierda para ver los modelos disponibles.
Para ver los de un proyecto diferente, selecciónalo de la lista desplegable en la parte superior derecha de la barra de título.
Selecciona la fila del modelo que deseas usar para etiquetar las imágenes.
Selecciona la pestaña Prueba y uso que se encuentra debajo de la barra de título.
En la sección Usa tu modelo, selecciona la opción Coral. Después de seleccionar la opción Coral y especificar la ubicación de exportación en Cloud Storage en la ventana lateral, haz clic en Export (Exportar) para exportar el modelo de Edge.
REST
En el campo "modelFormat"
, especifica "edgetpu_tflite"
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del proyecto de GCP.
- model-id: Es el ID del modelo, que se muestra en la respuesta que recibiste cuando lo creaste. El ID es el último elemento del nombre del modelo.
Por ejemplo:
- Nombre del modelo:
projects/project-id/locations/location-id/models/IOD4412217016962778756
- ID del modelo:
IOD4412217016962778756
- Nombre del modelo:
- output-storage-bucket: Es un depósito o directorio de Google Cloud Storage para guardar archivos de salida, que se expresa en el siguiente formato:
gs://bucket/directory/
. El usuario que realice la solicitud debe tener permiso de escritura en el bucket.
Método HTTP y URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:export
Cuerpo JSON de la solicitud:
{ "outputConfig": { "modelFormat": "edgetpu_tflite", "gcsDestination": { "outputUriPrefix": "OUTPUT_STORAGE_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 "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/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"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:export" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-11-12T22:55:03.554806Z", "updateTime": "2019-11-12T22:55:03.554806Z", "exportModelDetails": { "outputInfo": { "gcsOutputDirectory": "OUTPUT_STORAGE_BUCKET/model-export/icn/edgetpu_tflite-DATASET_NAME_YYYY-MM-DDThh:mm:ss.sssZ/" } } } }
Como resultado, verás una estructura de carpetas en el directorio que proporcionaste (CLOUD_STORAGE_BUCKET/[DIRECTORY]). La estructura de carpetas creada tendrá el siguiente formato general (marca de tiempo en formato ISO-8601):
CLOUD_STORAGE_BUCKET/model-export/icn/MODEL_TYPE-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ
Por ejemplo:
CLOUD_STORAGE_BUCKET/model-export/icn/tf-saved-model-DATASET_NAME-2019-07-22T21:25:35.135Z
CLOUD_STORAGE_BUCKET/model-export/icn/tflite-DATASET_NAME-2019-07-22T21:23:18.861Z
La carpeta contiene un modelo de TensorFlow Lite llamado edgetpu_model.tflite
, un archivo de etiquetas llamado dict.txt
y un archivo tflite_metadata.json
.
Usa el modelo exportado
Para obtener más información sobre cómo implementar en Edge TPU, consulta la documentación oficial de Coral sobre cómo ejecutar una inferencia en Edge TPU.
Exporta para la Web
IU web
-
Abre Vision Dashboard y selecciona el ícono de la bombilla en la barra de navegación lateral para ver los modelos disponibles.
Para ver los modelos de un proyecto diferente, selecciona el proyecto de la lista desplegable en la parte superior derecha de la barra de título.
-
Selecciona la fila del modelo que deseas usar para etiquetar las imágenes.
-
Selecciona la pestaña Probar y usar, que se encuentra justo debajo de la barra de título.
-
En la sección Usa tu modelo, selecciona la opción Tensorflow.js. Después de seleccionar la opción Tensorflow.js y especificar la ubicación de exportación en Cloud Storage en la ventana lateral, selecciona Exportar a fin de exportar el modelo de TensorFlow.js listo para la Web.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del proyecto de GCP.
- model-id: Es el ID del modelo, que se muestra en la respuesta que recibiste cuando lo creaste. El ID es el último elemento del nombre del modelo.
Por ejemplo:
- Nombre del modelo:
projects/project-id/locations/location-id/models/IOD4412217016962778756
- ID del modelo:
IOD4412217016962778756
- Nombre del modelo:
- output-storage-bucket: Es un depósito o directorio de Google Cloud Storage para guardar archivos de salida, que se expresa en el siguiente formato:
gs://bucket/directory/
. El usuario que realice la solicitud debe tener permiso de escritura en el bucket.
Método HTTP y URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:export
Cuerpo JSON de la solicitud:
{ "outputConfig": { "modelFormat": "tf_js", "gcsDestination": { "outputUriPrefix": "OUTPUT_STORAGE_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 "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/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"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:export" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-07-22T21:23:21.643041Z", "updateTime": "2019-07-22T21:23:21.643041Z", "exportModelDetails": { "outputInfo": { "gcsOutputDirectory": "OUTPUT_STORAGE_BUCKET/model-export/icn/tf_js-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ" } } } }
Como resultado, verás una carpeta en el directorio que proporcionaste (USER_GCS_PATH). La carpeta creada se nombrará según la marca de tiempo en el formato /model-export/icn/tf_js-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ
(por ejemplo, tf_js-edge_model-2019-10-03T17:24:46.999Z
).
La carpeta contiene archivos binarios (.bin
), un archivo de etiquetas llamado dict.txt
y un archivo model.json
.