Para criar um modelo personalizado, treine-o usando um conjunto de dados preparado. A API AutoML usa os itens do conjunto de dados para treinar o modelo, testá-lo e avaliar o desempenho dele. Você analisa os resultados, ajusta o conjunto de dados de treinamento conforme necessário e treina um novo modelo usando o conjunto de dados aprimorado.
Esse processo pode levar várias horas para ser concluído. A API AutoML permite verificar o status do treinamento.
Como o AutoML Vision cria um novo modelo sempre que você inicia o treinamento, o projeto poderá incluir vários modelos. É possível conseguir uma lista dos modelos no projeto e excluir modelos que não forem mais necessários. Como alternativa, é possível usar a interface do usuário do Cloud AutoML Vision para listar e excluir modelos desnecessários criados usando a API AutoML.
Como treinar modelos;
Quando você tiver um conjunto de dados com um conjunto representativo de itens de treinamento rotulados, estará pronto para criar e treinar o modelo personalizado.
IU da Web
Abra o Painel do Vision.
A página Conjuntos de dados mostra os conjuntos disponíveis para o projeto atual.
Selecione aquele que você quer usar para treinar o modelo personalizado.
O nome de exibição do conjunto de dados selecionado aparece na barra de título, e a página relaciona os itens individuais no conjunto de dados com os respectivos rótulos.
Quando terminar de revisar o conjunto de dados, selecione a guia Treinar logo abaixo da barra de título.
A página de treinamento fornece uma análise básica do conjunto de dados e informa se ele é adequado para treinamento. Selecione Estatísticas de rótulo se essa opção não for exibida imediatamente. Se o AutoML Vision sugerir alterações, convém retornar à página Imagens e adicionar itens ou rótulos.
Quando o conjunto de dados estiver pronto, selecione Iniciar treinamento. Se houver modelos existentes, selecione Treinar novo modelo.
Uma janela lateral com opções de treinamento do modelo será exibida. Na seção Definir o modelo, especifique o Nome do modelo ou aceite o padrão. Selecione radio_button_checked Hospedado no Cloud como o tipo de modelo se isso ainda não tiver sido especificado. Depois de selecionar a opção de treinar um modelo hospedado no Cloud, selecione Continuar.
Na seção Definir um orçamento por hora de uso do nó da janela lateral, escolha um valor de orçamento de treinamento apropriado com base no tamanho do conjunto de dados.
Por padrão, 24 horas de uso do nó são suficientes para que a maioria dos conjuntos de dados treine seu modelo. Esse valor recomendado é uma estimativa para fazer o modelo convergir totalmente. No entanto, é possível escolher outra quantidade. A quantidade mínima de horas de uso do nó para a classificação de imagens é 8 horas. Para detecção de objeto, esse valor mínimo é de 20 horas.
Opcional: marque a caixa de seleção check_box Implantar o modelo em um nó após o treinamento para aceitar a implantação automática do modelo após a conclusão do treinamento.
A implantação automática de modelos significa que o modelo estará disponível para a previsão imediatamente após o treinamento. Durante a implantação, o modelo gerará cobranças detalhadas na Página de preços.
Selecione Iniciar treinamento.
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.
- dataset-id: ID do conjunto de dados. O ID é o último elemento do nome
do conjunto de dados. Por exemplo:
- nome do conjunto de dados:
projects/project-id/locations/location-id/datasets/3104518874390609379
- ID do conjunto de dados:
3104518874390609379
- nome do conjunto de dados:
- display-name: um nome de exibição de string de sua escolha.
Método HTTP e URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models
Corpo JSON da solicitação:
{ "displayName": "DISPLAY_NAME", "datasetId": "DATASET_ID", "imageClassificationModelMetadata": { "trainBudget": "1", "modelType": "cloud" } }
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"
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" | Select-Object -Expand Content
Será exibido um código semelhante a este. Use o ID da operação
(neste caso, ICN3819960680614725486
) para receber o status da tarefa. Veja um exemplo em Como trabalhar com operações de longa duração.
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/ICN3819960680614725486", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-10-29T19:06:38.048492Z", "updateTime": "2019-10-29T19:06:38.048492Z", "createModelDetails": {} } }
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.
Listar operações
Se você estiver executando operações simultâneas, como treinamento de modelo, poderá usar a API para visualizar todas as operações atuais.
Use os exemplos de código a seguir para listar as operações do projeto e filtrar os resultados.
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/operations
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/operations"
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/operations" | Select-Object -Expand Content
A saída que você vê varia de acordo com as operações solicitadas.
Também é possível filtrar as operações retornadas usando os parâmetros de consulta selecionados (operationId
, done
e worksOn
). Por exemplo, para retornar uma lista de operações que concluíram a execução, modifique o URL:
GET https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations?filter="done=true"
Go
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página APIs e referência > Bibliotecas de cliente.
Java
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página APIs e referência > Bibliotecas de cliente.
Node.js
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página APIs e referência > Bibliotecas de cliente.
Python
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página APIs e referência > 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.
Como saber o status de uma operação
Você pode usar o ID de uma operação específica para ver informações sobre o status dela.
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.
- operation-id: o ID da operação. Ele é o último elemento do nome da operação. Por exemplo:
- nome da operação:
projects/project-id/locations/location-id/operations/IOD5281059901324392598
- ID da operação:
IOD5281059901324392598
- nome da operação:
Método HTTP e URL:
GET https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_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/operations/OPERATION_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/operations/OPERATION_ID" | Select-Object -Expand Content
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2018-10-29T15:56:29.176485Z", "updateTime": "2018-10-29T16:10:41.326614Z", "importDataDetails": {} }, "done": true, "response": { "@type": "type.googleapis.com/google.protobuf.Empty" } }
Você verá uma saída semelhante à seguinte para uma operação de modelo de criação concluída:
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-07-22T18:35:06.881193Z", "updateTime": "2019-07-22T19:58:44.972235Z", "createModelDetails": {} }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.automl.v1.Model", "name": "projects/PROJECT_ID/locations/us-central1/models/MODEL_ID" } }
Go
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página APIs e referência > Bibliotecas de cliente.
Java
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página APIs e referência > Bibliotecas de cliente.
Node.js
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página APIs e referência > Bibliotecas de cliente.
Python
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página APIs e referência > 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 cancelar uma operação
É possível cancelar uma tarefa de importação ou treinamento usando o ID da operação.
REST
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página Bibliotecas de cliente.
Antes de usar os dados da solicitação abaixo, faça estas substituições:
- project-id: o ID do projeto do GCP.
- operation-id: o ID da operação. Ele é o último elemento do nome da operação. Por exemplo:
- nome da operação:
projects/project-id/locations/location-id/operations/IOD5281059901324392598
- ID da operação:
IOD5281059901324392598
- nome da operação:
Método HTTP e URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID:cancel
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte 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 "" \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID:cancel"
PowerShell
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID:cancel" | Select-Object -Expand Content
{}
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.
Treinamento recuperável
Agora é possível pausar e retomar o treinamento de modelo personalizado para grandes conjuntos de dados com mais de
mil imagens. Pausar o treinamento de modelo não é uma ação manual que envolve um botão de pausa.
Em vez disso, o usuário define o orçamento de hora de uso do nó como um horário especificado. Por exemplo, duas horas.
Quando o tempo é atingido, o treinamento é interrompido automaticamente, independentemente do status do modelo.
O treinamento retomável está disponível com as seguintes restrições:
- Limite de tempo do modelo base: só é possível retomar o treinamento em modelos treinados nos últimos 14 dias. Os modelos base criados mais de 14 dias antes da solicitação não estão qualificados para treinamento retomável.
- Nenhuma modificação de rótulo: o treinamento retomável falhará se você alterar os rótulos no conjunto de dados do modelo base.
- Sem garantia de melhor desempenho: o uso de treinamento retomável em um modelo não garante melhor desempenho.
IU da Web
Antes de testar esta amostra, siga as instruções de configuração dessa linguagem na página Bibliotecas de cliente.
-
Abra o AutoML Vision UI.
A página Conjuntos de dados mostra os conjuntos disponíveis para o projeto atual.
Selecione aquele que você quer usar para treinar o modelo personalizado.
O nome de exibição do conjunto de dados selecionado é exibido na barra de título, e a página relaciona os itens individuais no conjunto de dados com os respectivos rótulos.
Quando terminar de revisar o conjunto de dados, selecione a guia Treinar logo abaixo da barra de título.
Se você treinou modelos anteriormente, eles serão exibidos em uma lista nesta guia.
Se o treinamento de um modelo for retomável, essa opção aparecerá ao lado de Ver avaliação completa.
Selecione Retomar treinamento para continuar o treinamento em um modelo aplicável.
Assim como o treinamento do modelo original, selecionar Retomar treinamento abrirá uma janela lateral "Treinar novo modelo". Na seção Definir seu modelo, você pode alterar o nome do novo modelo. Você também verá o nome do modelo de base usado para treinar esse modelo.
Depois de definir o modelo, selecione Continuar para ir para a próxima seção.
Na seção Definir um orçamento de hora de uso do nó, especifique um orçamento de hora de uso do nó. Esse orçamento está sujeito a uma estrutura de preçose restrições de cotas semelhantes ao treinamento inicial do modelo.
Depois de especificar um orçamento de treinamento, selecione Iniciar treinamento. Você receberá um e-mail quando o treinamento retomável for concluído.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- base-model-id: o ID do modelo base (existente). O novo modelo é criado com
base nesse modelo básico. As novas especificações de modelo a seguir precisam corresponder ao modelo base:
- projeto
- local
-
modelType
*
* A base e o novo
modelType
serão verificados mesmo que esse campo seja omitido na nova solicitação de modelo. - project-id: o ID do projeto do GCP.
- display-name: um nome de exibição de string de sua escolha.
- dataset-id: o ID do conjunto de dados. O ID é o último elemento do nome
do conjunto de dados. Por exemplo:
- nome do conjunto de dados:
projects/project-id/locations/location-id/datasets/3104518874390609379
- ID do conjunto de dados:
3104518874390609379
- nome do conjunto de dados:
Método HTTP e URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models
Corpo JSON da solicitação:
{ "baseModelId": BASE_MODEL_ID, "displayName": "DISPLAY_NAME", "datasetId": "DATASET_ID", "imageClassificationModelMetadata": { "trainBudget": "1", "modelType": "mobile-low-latency-1" } }
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"
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" | Select-Object -Expand Content
Será exibido um código semelhante a este. Use o ID da operação
(neste caso, ICN2106290444865378475
) para receber 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/ICN2106290444865378475", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-10-30T20:06:08.253243Z", "updateTime": "2019-10-30T20:06:08.253243Z", "createModelDetails": {} } }