You create a custom model by training it using a prepared dataset. AutoML Vision uses the items from the dataset to train the model, test it, and evaluate its performance. You review the results, adjust the training dataset as needed and train a new model using the improved dataset.
Training a model can take several hours to complete. The AutoML API enables you to check the status of training.
Since AutoML Vision creates a new model each time you start training, your project may include numerous models. You can get a list of the models in your project and can delete models that you no longer need.
Como listar modelos
Nesta seção, descrevemos como recuperar uma lista dos modelos disponíveis para um projeto.
IU da Web
Para ver uma lista dos modelos disponíveis usandoVision Dashboard, clique no ícone de lâmpada no menu de navegação esquerdo.
Para ver os modelos de outro projeto, selecione-o na lista suspensa na parte superior à direita da barra de título.
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.
Método HTTP e URL:
GET https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models"
PowerShell
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta. Essa resposta mostra informações sobre dois modelos hospedados no Cloud.
{ "model": [ { "name": "projects/PROJECT_ID/locations/us-central1/models/MODEL_ID_1", "displayName": "DISPLAY_NAME_1", "datasetId": "DATASET_ID", "createTime": "2019-10-30T20:06:08.253243Z", "deploymentState": "UNDEPLOYED", "updateTime": "2019-10-30T20:54:50.472328Z", "imageClassificationModelMetadata": { "trainBudget": "1", "modelType": "mobile-low-latency-1", "nodeQps": 3.2 } }, { "name": "projects/PROJECT_ID/locations/us-central1/models/MODEL_ID_2", "displayName": "DISPLAY_NAME_2", "datasetId": "DATASET_ID", "createTime": "2019-10-29T19:06:38.048492Z", "deploymentState": "UNDEPLOYED", "updateTime": "2019-10-29T19:35:19.104716Z", "imageClassificationModelMetadata": { "trainBudget": "1", "modelType": "cloud", "nodeQps": 3.2 } } ] }
Go
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página Bibliotecas de cliente.
Java
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página Bibliotecas de cliente.
Node.js
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página Bibliotecas de cliente.
Python
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página Bibliotecas de cliente.
Outras linguagens
C#: Siga as Instruções de configuração do C# na página das bibliotecas de cliente e acesse a Documentação de referência do AutoML Vision para .NET.
PHP: Siga as Instruções de configuração do PHP na página das bibliotecas de cliente e acesse a Documentação de referência do AutoML Vision para PHP.
Ruby: Siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse a Documentação de referência do AutoML Vision para Ruby.
Como conseguir informações sobre um modelo
Use os exemplos de código a seguir para receber informações sobre um modelo treinado específico. Use as informações retornadas dessa solicitação para modificar o modo ou enviar uma solicitação de previsão.
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:
Método HTTP e URL:
GET https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
"https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id"
PowerShell
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/project-id/locations/us-central1/models/model-id", "displayName": "display-name", "datasetId": "dataset-id", "createTime": "2019-10-29T19:06:38.048492Z", "deploymentState": "UNDEPLOYED", "updateTime": "2019-10-29T19:35:19.104716Z", "imageClassificationModelMetadata": { "trainBudget": "1", "modelType": "cloud", "nodeQps": 3.2 } }
Go
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página Bibliotecas de cliente.
Java
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página Bibliotecas de cliente.
Node.js
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página Bibliotecas de cliente.
Python
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página Bibliotecas de cliente.
Outras linguagens
C#: Siga as Instruções de configuração do C# na página das bibliotecas de cliente e acesse a Documentação de referência do AutoML Vision Object Detection para .NET.
PHP: Siga as Instruções de configuração do PHP na página das bibliotecas de cliente e acesse a Documentação de referência do AutoML Vision Object Detection para PHP.
Ruby: Siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse a Documentação de referência do AutoML Vision Object Detection para Ruby.
Atualizar o número do nó de um modelo
Depois de ter um modelo implantado treinado, atualize o número de nós em que o modelo é implantado para responder à sua quantidade específica de tráfego. Por exemplo, se você tiver uma quantidade maior de consultas por segundo (QPS) do que o esperado.
É possível alterar este número de nós sem ter que desfazer a implantação do modelo primeiro. A atualização da implantação alterará o número de nós sem interromper o tráfego de previsão exibido.
IU da Web
Em Vision Dashboard selecione a guia Modelos na barra de navegação à esquerda para mostrar 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 o modelo treinado que você implantou.
- Selecione a guia Testar e usar logo abaixo da barra de título.
-
Uma mensagem é exibida em uma caixa na parte superior da página que diz "Seu modelo foi implantado e está disponível para solicitações de previsão on-line". Selecione a opção Atualizar implantação na parte lateral deste texto.
- Na janela Atualizar implantação que é aberta, selecione o novo número de nó para implantar o modelo na lista. Números de nós exibem as consultas de previsão estimadas por segundo (QPS, na sigla em inglês).
Depois de selecionar um novo número de nó na lista, selecione Atualizar implantação para atualizar o número do nó no qual o modelo é implantado.
- Você retornará à janela Testar e usar e verá a caixa de texto exibindo "Implantando modelo...".
Depois que seu modelo for implantado com sucesso no novo número de nó, você receberá um e-mail no endereço associado ao projeto.
REST
O mesmo método usado para implantar um modelo inicialmente também é usado para alterar o número do nó do modelo implantado.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:
Considerações de campo:
nodeCount
: o número de nós para implantar o modelo. O valor precisa estar entre 1 e 100, inclusive nas duas extremidades. Um nó é uma abstração de um recurso de máquina que pode processar consultas de previsão por segundo (QPS) on-line, conforme fornecido noqps_per_node
do modelo.
Método HTTP e URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:deploy
Corpo JSON da solicitação:
{ "imageClassificationModelDeploymentMetadata": { "nodeCount": 2 } }
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:deploy"
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:deploy" | Select-Object -Expand Content
Será exibido um código semelhante a este. É possível usar o ID da operação para saber o status da tarefa. Para um exemplo, consulte Como trabalhar com operações de longa duração.
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-08-07T22:00:20.692109Z", "updateTime": "2019-08-07T22:00:20.692109Z", "deployModelDetails": {} } }
É possível ver o status de uma operação com o seguinte método HTTP e URL:
GET https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID
O status de uma operação concluída será semelhante ao seguinte:
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-06-21T16:47:21.704674Z", "updateTime": "2019-06-21T17:01:00.802505Z", "deployModelDetails": {} }, "done": true, "response": { "@type": "type.googleapis.com/google.protobuf.Empty" } }
Go
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página Bibliotecas de cliente.
Java
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página Bibliotecas de cliente.
Node.js
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página Bibliotecas de cliente.
Python
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página Bibliotecas de cliente.
Outras linguagens
C#: Siga as Instruções de configuração do C# na página das bibliotecas de cliente e acesse a Documentação de referência do AutoML Vision para .NET.
PHP: Siga as Instruções de configuração do PHP na página das bibliotecas de cliente e acesse a Documentação de referência do AutoML Vision para PHP.
Ruby: Siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse a Documentação de referência do AutoML Vision para Ruby.
exclusão de um modelo
No exemplo a seguir, excluímos um modelo.
IU da Web
Em Vision Dashboard, clique no ícone de lâmpada no menu de navegação à esquerda para exibir a lista de modelos disponíveis.
Clique no menu de três pontos à extrema direita da linha que você quer excluir e selecione Excluir modelo.
Clique em Excluir na caixa de diálogo de confirmação.
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:
Método HTTP e URL:
DELETE https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us- central1/models/MODEL_ID
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte comando:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us- central1/models/MODEL_ID"
PowerShell
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us- central1/models/MODEL_ID" | Select-Object -Expand Content
Será exibido um código semelhante a este. É possível usar o ID da operação para saber o status da tarefa. Para um exemplo, consulte Como trabalhar com operações de longa duração.
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2018-11-01T15:59:36.196506Z", "updateTime": "2018-11-01T15:59:36.196506Z", "deleteDetails": {} } }
Go
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página Bibliotecas de cliente.
Java
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página Bibliotecas de cliente.
Node.js
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página Bibliotecas de cliente.
Python
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página Bibliotecas de cliente.