You create an AutoML model directly in the Google Cloud console, or by creating a training pipeline programmatically, using the API or one of the Agent Platform client libraries.
This model is created using a prepared dataset provided by you using the console or the Agent Platform API. The Agent Platform API uses the items from the dataset to train the model, test it, and evaluate model performance. Review the evaluations results, adjust the training dataset as needed, and create a new training pipeline using the improved dataset.
Model training can take several hours to complete. The Agent Platform API lets you get the status of the training job.
When you have a dataset with a representative set of training items, you are ready to create an AutoML Edge training pipeline.
Select the tab below for your objective:
At training time you can choose the type of AutoML Edge model you want, depending on your specific use case:
MOBILE_TF_LOW_LATENCY_1)MOBILE_TF_VERSATILE_1)MOBILE_TF_HIGH_ACCURACY_1)Select the tab below for your language or environment:
Before using any of the request data, make the following replacements:
us-central1.fractionSplit, values must sum to 1. For example:
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
MOBILE_TF_LOW_LATENCY_1MOBILE_TF_VERSATILE_1MOBILE_TF_HIGH_ACCURACY_1| * | Schema file's description you specify in trainingTaskDefinition describes the
use of this field. |
| † | Schema file you specify in trainingTaskDefinition declares and describes this
field. |
HTTP method and URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
Request JSON body:
{
"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
}
}
To send your request, choose one of these options:
Save the request body in a file named request.json,
and execute the following command:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines"
Save the request body in a file named request.json,
and execute the following command:
$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 "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines" | Select-Object -Expand Content
The response contains information about specifications as well as the TRAININGPIPELINE_ID.
You can get the status of the trainingPipeline job using the TRAININGPIPELINE_ID.
At training time you can choose the type of AutoML Edge model you want, depending on your specific use case:
MOBILE_TF_LOW_LATENCY_1)MOBILE_TF_VERSATILE_1)MOBILE_TF_HIGH_ACCURACY_1)Select the tab below for your language or environment:
Before using any of the request data, make the following replacements:
us-central1.fractionSplit, values must sum to 1. For example:
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
MOBILE_TF_LOW_LATENCY_1MOBILE_TF_VERSATILE_1MOBILE_TF_HIGH_ACCURACY_1| * | Schema file's description you specify in trainingTaskDefinition describes the
use of this field. |
| † | Schema file you specify in trainingTaskDefinition declares and describes this
field. |
HTTP method and URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
Request JSON body:
{
"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
}
}
To send your request, choose one of these options:
Save the request body in a file named request.json,
and execute the following command:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines"
Save the request body in a file named request.json,
and execute the following command:
$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 "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines" | Select-Object -Expand Content
The response contains information about specifications as well as the TRAININGPIPELINE_ID.
You can get the status of the trainingPipeline job using the TRAININGPIPELINE_ID.
At training time you can choose the type of AutoML Edge model you want, depending on your specific use case:
MOBILE_TF_LOW_LATENCY_1)MOBILE_TF_VERSATILE_1)MOBILE_TF_HIGH_ACCURACY_1)Select the tab below for your language or environment:
Before using any of the request data, make the following replacements:
us-central1.fractionSplit: Optional. One of several possible ML use
split
options for your data. For fractionSplit, values must sum to 1. For example:
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
MOBILE_TF_LOW_LATENCY_1MOBILE_TF_VERSATILE_1MOBILE_TF_HIGH_ACCURACY_1| * | Schema file's description you specify in trainingTaskDefinition describes the
use of this field. |
| † | Schema file you specify in trainingTaskDefinition declares and describes this
field. |
HTTP method and URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
Request JSON body:
{
"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_object_detection_1.0.0.yaml",
"trainingTaskInputs": {
"modelType": ["EDGE_MODELTYPE"],
"budgetMilliNodeHours": NODE_HOUR_BUDGET
}
}
To send your request, choose one of these options:
Save the request body in a file named request.json,
and execute the following command:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines"
Save the request body in a file named request.json,
and execute the following command:
$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 "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines" | Select-Object -Expand Content
The response contains information about specifications as well as the TRAININGPIPELINE_ID.
You can get the status of the trainingPipeline job using the TRAININGPIPELINE_ID.
Use the following code to programmatically get the status of trainingPipeline creation.
Before using any of the request data, make the following replacements:
HTTP method and URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines/TRAININGPIPELINE_ID
To send your request, choose one of these options:
Execute the following command:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines/TRAININGPIPELINE_ID"
Execute the following command:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines/TRAININGPIPELINE_ID" | Select-Object -Expand Content
The "state" field shows the current status of the operation. A completed
trainingPipeline shows
You should see output similar to the following for a completed create trainingPipeline operation:
Before trying this sample, follow the Java setup instructions in the Agent Platform quickstart using client libraries. For more information, see the Agent Platform Java API reference documentation.
To authenticate to Agent Platform, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
To learn how to install or update the Vertex AI SDK for Python, see Install the Vertex AI SDK for Python. For more information, see the Python API reference documentation.
After the trainingPipeline creation completes you can use the model's display name to get more detailed model information.
Before using any of the request data, make the following replacements:
us-central1HTTP method and URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models?filter=display_name=MODEL_DISPLAYNAME
To send your request, choose one of these options:
Execute the following command:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models?filter=display_name=MODEL_DISPLAYNAME"
Execute the following command:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models?filter=display_name=MODEL_DISPLAYNAME" | Select-Object -Expand Content
You should see output similar to the following for a trained AutoML Edge model. The following sample output is for an image AutoML Edge model:
Before trying this sample, follow the Java setup instructions in the Agent Platform quickstart using client libraries. For more information, see the Agent Platform Java API reference documentation.
To authenticate to Agent Platform, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
Before trying this sample, follow the Node.js setup instructions in the Agent Platform quickstart using client libraries. For more information, see the Agent Platform Node.js API reference documentation.
To authenticate to Agent Platform, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
To learn how to install or update the Vertex AI SDK for Python, see Install the Vertex AI SDK for Python. For more information, see the Python API reference documentation.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-06-10 UTC.