Puedes crear un modelo de AutoML directamente en la consola de Google Cloud o crear una canalización de entrenamiento de manera programática mediante la API de o una de las bibliotecas cliente de Vertex AI.
Este modelo se crea con un conjunto de datos preparado que proporcionas a través de la consola o la API. La API de Vertex AI usa los elementos del conjunto de datos para entrenar el modelo, probarlo y evaluar su rendimiento. Revisa los resultados de la evaluación, ajusta el conjunto de datos de entrenamiento según sea necesario y crea un trabajo de entrenamiento nuevo con el conjunto de datos mejorado.
El entrenamiento de modelos puede tardar varias horas en completarse. La API de Vertex AI te permite obtener el estado del entrenamiento.
Crea una canalización de entrenamiento de AutoML Edge
Cuando tienes un conjunto de datos con un conjunto representativo de elementos de entrenamiento, estás listo para crear una canalización de entrenamiento de AutoML Edge.
Selecciona un tipo de datos.
Imagen
A continuación, selecciona la pestaña para tu objetivo:
Clasificación
Durante el entrenamiento, puedes elegir el tipo de modelo de AutoML Edge que desees, según tu caso de uso específico:
- Latencia baja (
MOBILE_TF_LOW_LATENCY_1
) - Uso general (
MOBILE_TF_VERSATILE_1
) - Mayor calidad de predicción (
MOBILE_TF_HIGH_ACCURACY_1
)
Selecciona la pestaña correspondiente a tu idioma o entorno:
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Región en la que se encuentra el conjunto de datos y se crea el modelo. Por ejemplo,
us-central1
. - PROJECT: ID del proyecto
- TRAININGPIPELINE_DISPLAYNAME: Obligatorio. Un nombre visible para trainingPipeline.
- DATASET_ID: El número de ID del conjunto de datos que se usará para el entrenamiento.
- fractionSplit: Opcional Una de las diversas opciones del AA posibles usa opciones de división para tus datos. En
fractionSplit
, los valores deben sumar 1. Por ejemplo:-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*: Un nombre visible para el modelo subido (creado) por TrainingPipeline.
- MODEL_DESCRIPTION*: Es una descripción del modelo.
- modelToUpload.labels*: Cualquier conjunto de pares clave-valor para organizar tus modelos. Por ejemplo:
- "env": "prod"
- "nivel": "backend"
- EDGE_MODELTYPE†: El tipo de modelo de Edge que se entrenará. Las opciones son las siguientes:
MOBILE_TF_LOW_LATENCY_1
MOBILE_TF_VERSATILE_1
MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†: El costo de entrenamiento real será igual o menor a este valor. Para los modelos de Edge, el presupuesto debe ser de 1,000 a 100,000 milihoras de procesamiento de nodo (inclusive).
- PROJECT_NUMBER: es el número de tu proyecto.
* | La descripción del archivo de esquema que especificas en trainingTaskDefinition describe el uso de este campo. |
† | El archivo de esquema que especificas en trainingTaskDefinition declara y describe este campo. |
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
Cuerpo JSON de la solicitud:
{ "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 tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
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"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$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
La respuesta contiene información sobre las especificaciones y los TRAININGPIPELINE_ID.
Puedes obtener el estado del trabajo de trainingPipeline con el TRAININGPIPELINE_ID.
Clasificación
Durante el entrenamiento, puedes elegir el tipo de modelo de AutoML Edge que desees, según tu caso de uso específico:
- Latencia baja (
MOBILE_TF_LOW_LATENCY_1
) - Uso general (
MOBILE_TF_VERSATILE_1
) - Mayor calidad de predicción (
MOBILE_TF_HIGH_ACCURACY_1
)
Selecciona la pestaña correspondiente a tu idioma o entorno:
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Región en la que se encuentra el conjunto de datos y se crea el modelo. Por ejemplo,
us-central1
. - PROJECT: ID del proyecto
- TRAININGPIPELINE_DISPLAYNAME: Obligatorio. Un nombre visible para trainingPipeline.
- DATASET_ID: El número de ID del conjunto de datos que se usará para el entrenamiento.
- fractionSplit: Opcional Una de las diversas opciones del AA posibles usa opciones de división para tus datos. En
fractionSplit
, los valores deben sumar 1. Por ejemplo:-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*: Un nombre visible para el modelo subido (creado) por TrainingPipeline.
- MODEL_DESCRIPTION*: Es una descripción del modelo.
- modelToUpload.labels*: Cualquier conjunto de pares clave-valor para organizar tus modelos. Por ejemplo:
- "env": "prod"
- "nivel": "backend"
- EDGE_MODELTYPE†: El tipo de modelo de Edge que se entrenará. Las opciones son las siguientes:
MOBILE_TF_LOW_LATENCY_1
MOBILE_TF_VERSATILE_1
MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†: El costo de entrenamiento real será igual o menor a este valor. Para los modelos de Edge, el presupuesto debe ser de 1,000 a 100,000 milihoras de procesamiento de nodo (inclusive).
- PROJECT_NUMBER: es el número de tu proyecto.
* | La descripción del archivo de esquema que especificas en trainingTaskDefinition describe el uso de este campo. |
† | El archivo de esquema que especificas en trainingTaskDefinition declara y describe este campo. |
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
Cuerpo JSON de la solicitud:
{ "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 tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
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"