Crie um modelo de AutoML diretamente no console do Google Cloud ou criando um pipeline de treinamento de forma programática, usando a API ou um dos métodos Vertex Bibliotecas de cliente da IA.
Esse modelo é criado usando um conjunto de dados preparado fornecido por você por meio do console ou da API. A API Vertex AI usa os itens do conjunto de dados para treinar o modelo, testá-lo e avaliar o desempenho dele. Analise os resultados das avaliações, ajuste o conjunto de dados de treinamento conforme necessário e crie um novo pipeline de treinamento usando o conjunto de dados aprimorado.
O treinamento do modelo leva horas para ser concluído. A API Vertex IA permite que você consiga o status do treinamento.
Criar um pipeline de treinamento do AutoML Edge
Quando você tiver um conjunto de dados com um conjunto representativo de itens de treinamento, estará pronto para criar um pipeline de treinamento do AutoML Edge.
Selecione um tipo de dados.
Image
Selecione a guia abaixo para seu objetivo:
Classificação
No momento do treinamento, é possível escolher o tipo de modelo do AutoML Edge desejado, dependendo do caso de uso específico:
- Baixa latência (
MOBILE_TF_LOW_LATENCY_1
) - Uso geral (
MOBILE_TF_VERSATILE_1
) - Maior qualidade de previsão (
MOBILE_TF_HIGH_ACCURACY_1
)
Selecione a guia abaixo para seu idioma ou ambiente:
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: região em que o conjunto de dados está localizado e o modelo é criado. Por exemplo,
us-central1
. - PROJECT: o ID do projeto
- TRAININGPIPELINE_DISPLAYNAME: obrigatório. Um nome de exibição do trainingPipeline.
- DATASET_ID: o número do ID do conjunto de dados a ser usado para treinamento.
- fractionSplit: opcional. Um dos vários modelos de ML possíveis pode usar opções de divisão para os dados. Para
fractionSplit
, os valores precisam somar 1. Por exemplo:-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*: um nome de exibição do modelo enviado (criado) pelo TrainingPipeline.
- MODEL_DESCRIPTION*: uma descrição para o modelo.
- modelToUpload.labels*: qualquer conjunto de pares de chave-valor para organizar seus modelos. Por exemplo:
- "env": "prod"
- "tier": "backend"
- EDGE_MODELTYPE†: o tipo de modelo do Edge a ser treinado. As opções são:
MOBILE_TF_LOW_LATENCY_1
MOBILE_TF_VERSATILE_1
MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†: o custo de treinamento real será igual ou menor que este valor. Para modelos Edge, o orçamento precisa ser de 1.000 a 100.000 horas de nó (inclusive).
- PROJECT_NUMBER: número do projeto para o seu projeto
* | A descrição do arquivo de esquema que você especifica em trainingTaskDefinition descreve o uso deste campo. |
† | O arquivo de esquema especificado em trainingTaskDefinition declara e descreve esse campo. |
Método HTTP e URL:
POST http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
Corpo JSON da solicitação:
{ "displayName": "TRAININGPIPELINE_DISPLAYNAME", "inputDataConfig": { "datasetId": "DATASET_ID", "fractionSplit": { "trainingFraction": "DECIMAL", "validationFraction": "DECIMAL", "testFraction": "DECIMAL" } }, "modelToUpload": { "displayName": "MODEL_DISPLAYNAME", "description": "MODEL_DESCRIPTION", "labels": { "KEY": "VALUE" } }, "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_image_classification_1.0.0.yaml", "trainingTaskInputs": { "multiLabel": "false", "modelType": ["EDGE_MODELTYPE"], "budgetMilliNodeHours": NODE_HOUR_BUDGET } }
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 "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines"
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" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines" | Select-Object -Expand Content
A resposta contém informações sobre especificações, bem como o TRAININGPIPELINE_ID.
Veja o status do job trainingPipeline usando o TRAININGPIPELINE_ID.
Classificação
No momento do treinamento, é possível escolher o tipo de modelo do AutoML Edge desejado, dependendo do caso de uso específico:
- Baixa latência (
MOBILE_TF_LOW_LATENCY_1
) - Uso geral (
MOBILE_TF_VERSATILE_1
) - Maior qualidade de previsão (
MOBILE_TF_HIGH_ACCURACY_1
)
Selecione a guia abaixo para seu idioma ou ambiente:
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: região em que o conjunto de dados está localizado e o modelo é criado. Por exemplo,
us-central1
. - PROJECT: o ID do projeto
- TRAININGPIPELINE_DISPLAYNAME: obrigatório. Um nome de exibição do trainingPipeline.
- DATASET_ID: o número do ID do conjunto de dados a ser usado para treinamento.
- fractionSplit: opcional. Um dos vários modelos de ML possíveis pode usar opções de divisão para os dados. Para
fractionSplit
, os valores precisam somar 1. Por exemplo:-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*: um nome de exibição do modelo enviado (criado) pelo TrainingPipeline.
- MODEL_DESCRIPTION*: uma descrição para o modelo.
- modelToUpload.labels*: qualquer conjunto de pares de chave-valor para organizar seus modelos. Por exemplo:
- "env": "prod"
- "tier": "backend"
- EDGE_MODELTYPE†: o tipo de modelo do Edge a ser treinado. As opções são:
MOBILE_TF_LOW_LATENCY_1
MOBILE_TF_VERSATILE_1
MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†: o custo de treinamento real será igual ou menor que este valor. Para modelos Edge, o orçamento precisa ser de 1.000 a 100.000 horas de nó (inclusive).
- PROJECT_NUMBER: número do projeto para o seu projeto
* | A descrição do arquivo de esquema que você especifica em trainingTaskDefinition descreve o uso deste campo. |
† | O arquivo de esquema especificado em trainingTaskDefinition declara e descreve esse campo. |
Método HTTP e URL:
POST http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
Corpo JSON da solicitação:
{ "displayName": "TRAININGPIPELINE_DISPLAYNAME", "inputDataConfig": { "datasetId": "DATASET_ID", "fractionSplit": { "trainingFraction": "DECIMAL", "validationFraction": "DECIMAL", "testFraction": "DECIMAL" } }, "modelToUpload": { "displayName": "MODEL_DISPLAYNAME", "description": "MODEL_DESCRIPTION", "labels": { "KEY": "VALUE" } }, "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_image_classification_1.0.0.yaml", "trainingTaskInputs": { "multiLabel": "true", "modelType": ["EDGE_MODELTYPE"], "budgetMilliNodeHours": NODE_HOUR_BUDGET } }
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 "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines"
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" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines" | Select-Object -Expand Content
A resposta contém informações sobre especificações, bem como o TRAININGPIPELINE_ID.
Veja o status do job trainingPipeline usando o TRAININGPIPELINE_ID.
Detecção de objetos
No momento do treinamento, é possível escolher o tipo de modelo do AutoML Edge desejado, dependendo do caso de uso específico:
- Baixa latência (
MOBILE_TF_LOW_LATENCY_1
) - Uso geral (
MOBILE_TF_VERSATILE_1
) - Maior qualidade de previsão (
MOBILE_TF_HIGH_ACCURACY_1
)
Selecione a guia abaixo para seu idioma ou ambiente:
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: região em que o conjunto de dados está localizado e o modelo é criado. Por exemplo,
us-central1
. - PROJECT: o ID do projeto
- TRAININGPIPELINE_DISPLAYNAME: obrigatório. Um nome de exibição do trainingPipeline.
- DATASET_ID: o número do ID do conjunto de dados a ser usado para treinamento.
fractionSplit
: opcional. Um dos vários modelos de ML possíveis pode usar opções de divisão para os dados. ParafractionSplit
, os valores precisam somar 1. Por exemplo:-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*: um nome de exibição do modelo enviado (criado) pelo TrainingPipeline.
- MODEL_DESCRIPTION*: uma descrição para o modelo.
- modelToUpload.labels*: qualquer conjunto de pares de chave-valor para organizar seus modelos. Por exemplo:
- "env": "prod"
- "tier": "backend"
- EDGE_MODELTYPE†: o tipo de modelo do Edge a ser treinado. As opções são:
MOBILE_TF_LOW_LATENCY_1
MOBILE_TF_VERSATILE_1
MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†: o custo de treinamento real será igual ou menor que este valor. Para modelos de nuvem, o orçamento precisa ser de 20.000 a 900 mil horas de nó (inclusive). O valor padrão é 216.000, o que representa um dia em tempo decorrido, desde que nove nós sejam usados.
- PROJECT_NUMBER: número do projeto para o seu projeto
* | A descrição do arquivo de esquema que você especifica em trainingTaskDefinition descreve o uso deste campo. |
† | O arquivo de esquema especificado em trainingTaskDefinition declara e descreve esse campo. |
Método HTTP e URL:
POST http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipeli