Depois de criar (treinar) um modelo personalizado, será possível exportá-lo.
Depois de exportar o modelo, será possível implantá-lo em um dispositivo.
É possível exportar um modelo de classificação de imagem nos seguintes formatos:
- TensorFlow Lite
- SavedModel do TensorFlow para uso em um contêiner do Docker
- Edge TPU compilado TensorFlow Lite
- TensorFlow.js para Web
Exportar para dispositivos
Modelos do TensorFlow Lite
IU da Web
Abra Vision Dashboard e clique no ícone de lâmpada na barra de navegação esquerda para exibir os modelos disponíveis.
Para ver os modelos de outro projeto, selecione o projeto na lista suspensa na parte superior direita da barra de título.
Clique na linha do modelo que você quer usar para rotular suas imagens.
Clique na guia Testar e usar logo abaixo da barra de título.
Na seção Use seu modelo, selecione a opção TF Lite. Depois de selecionar a opção TF Lite e especificar o local de exportação no Cloud Storage na janela lateral, selecione Exportar para exportar o modelo Edge TF Lite.
REST
No campo "modelFormat"
, especifique "tflite"
(padrão).
Antes de usar os dados da solicitação abaixo, faça estas substituições:
- project-id: o ID do projeto do GCP.
- model-id: o ID do seu modelo, a partir da
resposta de quando você o criou. Ele é o último elemento no nome do modelo.
Por exemplo:
- Nome do modelo:
projects/project-id/locations/location-id/models/IOD4412217016962778756
- ID do modelo:
IOD4412217016962778756
- Nome do modelo:
- output-storage-bucket: um bucket/diretório do Google Cloud Storage
em que os arquivos de saída serão salvos, expressos no seguinte formato:
gs://bucket/directory/
. O usuário solicitante precisa ter permissão de gravação no bucket.
Método HTTP e URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:export
Corpo JSON da solicitação:
{ "outputConfig": { "modelFormat": "tflite", "gcsDestination": { "outputUriPrefix": "OUTPUT_STORAGE_BUCKET/" }, } }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
{ "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, você verá uma estrutura de pastas no diretório fornecido (CLOUD_STORAGE_BUCKET/[DIRECTORY]). A estrutura de pastas criada terá o seguinte formato geral (carimbo de data/hora no formato ISO-8601):
CLOUD_STORAGE_BUCKET/model-export/icn/MODEL_TYPE-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ
Exemplo:
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
A pasta contém um modelo do TensorFlow Lite chamado model.tflite
, um arquivo de rótulo
chamado dict.txt
e um arquivo tflite_metadata.json
.
Como usar o modelo exportado
Depois de exportar o modelo para um bucket do Google Cloud Storage, implante o modelo do AutoML Vision Edge em dispositivos Android, dispositivos iOS ou Raspberry Pi 3 (em inglês).
Principais modelos de ML
IU da Web
Abra Vision Dashboard e clique no ícone de lâmpada na barra de navegação esquerda para exibir os modelos disponíveis.
Para ver os modelos de outro projeto, selecione o projeto na lista suspensa na parte superior direita da barra de título.
Clique na linha do modelo que você quer usar para rotular suas imagens.
Clique na guia Testar e usar logo abaixo da barra de título.
Na seção Usar seu modelo, selecione a opção ML principal. Depois de selecionar a opção ML principal e especificar o local de exportação no Cloud Storage na janela lateral, clique em Exportar para exportar o modelo Edge.
REST
No campo "modelFormat"
, especifique "core_ml"
.
Antes de usar os dados da solicitação abaixo, faça estas substituições:
- project-id: o ID do projeto do GCP.
- model-id: o ID do seu modelo, a partir da
resposta de quando você o criou. Ele é o último elemento no nome do modelo.
Por exemplo:
- Nome do modelo:
projects/project-id/locations/location-id/models/IOD4412217016962778756
- ID do modelo:
IOD4412217016962778756
- Nome do modelo:
- output-storage-bucket: um bucket/diretório do Google Cloud Storage
em que os arquivos de saída serão salvos, expressos no seguinte formato:
gs://bucket/directory/
. O usuário solicitante precisa ter permissão de gravação no bucket.
Método HTTP e URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:export
Corpo JSON da solicitação:
{ "outputConfig": { "modelFormat": "core_ml", "gcsDestination": { "outputUriPrefix": "OUTPUT_STORAGE_BUCKET/" }, } }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
{ "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, você verá uma estrutura de pastas no diretório fornecido (CLOUD_STORAGE_BUCKET/[DIRECTORY]). A estrutura de pastas criada terá o seguinte formato geral (carimbo de data/hora no formato ISO-8601):
CLOUD_STORAGE_BUCKET/model-export/icn/MODEL_TYPE-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ
Exemplo:
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
A pasta contém um modelo de ML principal chamado model.mlmodel
e um arquivo dict.txt
.
Como usar o modelo exportado
Depois de exportar o modelo para um bucket do Google Cloud Storage, implante o modelo do AutoML Vision Edge em dispositivos iOS.
Exportar para um contêiner
IU da Web
Abra Vision Dashboard e clique no ícone de lâmpada na barra de navegação esquerda para exibir os modelos disponíveis.
Para ver os modelos de outro projeto, selecione o projeto na lista suspensa na parte superior direita da barra de título.
Clique na linha do modelo que você quer usar para rotular suas imagens.
Clique na guia Testar e usar logo abaixo da barra de título.
Na seção Usar seu modelo, selecione a opção Contêiner. Depois de selecionar a opção Contêiner e especificar o local de exportação no Cloud Storage na janela lateral, clique em Exportar para exportar o modelo Edge.
REST
No campo "modelFormat"
, especifique "tf-saved-model"
.
Antes de usar os dados da solicitação abaixo, faça estas substituições:
- project-id: o ID do projeto do GCP.
- model-id: o ID do seu modelo, a partir da
resposta de quando você o criou. Ele é o último elemento no nome do modelo.
Por exemplo:
- Nome do modelo:
projects/project-id/locations/location-id/models/IOD4412217016962778756
- ID do modelo:
IOD4412217016962778756
- Nome do modelo:
- output-storage-bucket: um bucket/diretório do Google Cloud Storage
em que os arquivos de saída serão salvos, expressos no seguinte formato:
gs://bucket/directory/
. O usuário solicitante precisa ter permissão de gravação no bucket.
Método HTTP e URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:export
Corpo JSON da solicitação:
{ "outputConfig": { "modelFormat": "tf-saved-model", "gcsDestination": { "outputUriPrefix": "OUTPUT_STORAGE_BUCKET/" }, } }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
{ "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, você verá uma estrutura de pastas no diretório fornecido (CLOUD_STORAGE_BUCKET/[DIRECTORY]). A estrutura de pastas criada terá o seguinte formato geral (carimbo de data/hora no formato ISO-8601):
CLOUD_STORAGE_BUCKET/model-export/icn/MODEL_TYPE-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ
Exemplo:
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
A pasta contém um modelo do TensorFlow chamado saved_model.pb
.
Como usar o modelo exportado
Depois de exportar o modelo para um bucket do Google Cloud Storage, use o modelo exportado para fazer previsões em uma imagem do Docker. Consulte o tutorial sobre contêineres para instruções sobre a implantação em um contêiner.
Exportar para o Edge TPU
IU da Web
Abra o Painel do Vision e clique no ícone de lâmpada na barra de navegação esquerda para exibir os modelos disponíveis.
Para ver os modelos de outro projeto, selecione o projeto na lista suspensa na parte superior direita da barra de título.
Selecione a linha do modelo que você quer usar para rotular as imagens.
Selecione a guia Testar e usar logo abaixo da barra de título.
Na seção Usar seu modelo, selecione a opção Coral. Depois de selecionar a opção Coral e especificar o local de exportação no Cloud Storage na janela lateral, clique em Exportar para exportar o modelo Edge.
REST
No campo "modelFormat"
, especifique "edgetpu_tflite"
.
Antes de usar os dados da solicitação abaixo, faça estas substituições:
- project-id: o ID do projeto do GCP.
- model-id: o ID do seu modelo, a partir da
resposta de quando você o criou. Ele é o último elemento no nome do modelo.
Por exemplo:
- Nome do modelo:
projects/project-id/locations/location-id/models/IOD4412217016962778756
- ID do modelo:
IOD4412217016962778756
- Nome do modelo:
- output-storage-bucket: um bucket/diretório do Google Cloud Storage
em que os arquivos de saída serão salvos, expressos no seguinte formato:
gs://bucket/directory/
. O usuário solicitante precisa ter permissão de gravação no bucket.
Método HTTP e URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:export
Corpo JSON da solicitação:
{ "outputConfig": { "modelFormat": "edgetpu_tflite", "gcsDestination": { "outputUriPrefix": "OUTPUT_STORAGE_BUCKET/" }, } }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
{ "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, você verá uma estrutura de pastas no diretório fornecido (CLOUD_STORAGE_BUCKET/[DIRECTORY]). A estrutura de pastas criada terá o seguinte formato geral (carimbo de data/hora no formato ISO-8601):
CLOUD_STORAGE_BUCKET/model-export/icn/MODEL_TYPE-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ
Exemplo:
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
A pasta contém um modelo do TensorFlow Lite chamado edgetpu_model.tflite
, um arquivo de rótulo chamado dict.txt
e um arquivo tflite_metadata.json
.
Como usar o modelo exportado
Para mais informações sobre como implantar no Edge TPU, veja a documentação oficial do Coral sobre como executar uma inferência no Edge TPU.
Exportar para a Web
IU da Web
-
Abra Vision Dashboard e selecione o ícone de lâmpada na barra de navegação lateral para exibir os modelos disponíveis.
Para ver os modelos de outro projeto, selecione o projeto na lista suspensa na parte superior direita da barra de título.
-
Selecione a linha do modelo que você quer usar para rotular as imagens.
-
Selecione a guia Testar e usar logo abaixo da barra de título.
-
Na seção Usar seu modelo, selecione a opção Tensorflow.js. Depois de selecionar a opção Tensorflow.js e especificar o local de exportação no Cloud Storage na janela lateral, selecione Tensorflow.js para exportar o modelo do TensorFlow.js pronto para a Web.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto do GCP.
- model-id: o ID do seu modelo, a partir da
resposta de quando você o criou. Ele é o último elemento no nome do modelo.
Por exemplo:
- Nome do modelo:
projects/project-id/locations/location-id/models/IOD4412217016962778756
- ID do modelo:
IOD4412217016962778756
- Nome do modelo:
- output-storage-bucket: um bucket/diretório do Google Cloud Storage
em que os arquivos de saída serão salvos, expressos no seguinte formato:
gs://bucket/directory/
. O usuário solicitante precisa ter permissão de gravação no bucket.
Método HTTP e URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:export
Corpo JSON da solicitação:
{ "outputConfig": { "modelFormat": "tf_js", "gcsDestination": { "outputUriPrefix": "OUTPUT_STORAGE_BUCKET/" }, } }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
{ "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, você vai ver uma pasta no diretório fornecido
(${USER_GCS_PATH}). A pasta criada será nomeada de acordo com o
carimbo de data/hora no formato
/model-export/icn/tf_js-DATASET_NAME-YYYY-MM-DDThh:mm:ss.sssZ
. Por exemplo,
tf_js-edge_model-2019-10-03T17:24:46.999Z
.
A pasta contém arquivos binários (.bin
), um arquivo de rótulo chamado
dict.txt
e um arquivo model.json
.