Puoi creare un modello AutoML direttamente nella console Google Cloud oppure creando una pipeline di addestramento in modo programmatico, utilizzando l'API o una delle librerie client di Vertex AI.
Questo modello viene creato utilizzando un set di dati preparato fornito da te utilizzando la console o l'API. L'API Vertex AI utilizza gli elementi del set di dati per addestrare il modello, testarlo e valutarne le prestazioni. Esamina i risultati delle valutazioni, modifica il set di dati di addestramento in base alle esigenze e crea una nuova pipeline di addestramento utilizzando il set di dati migliorato.
Il completamento dell'addestramento del modello può richiedere diverse ore. L'API Vertex AI consente di ottenere lo stato dell'addestramento.
Crea una pipeline di addestramento AutoML Edge
Quando hai un set di dati con un insieme rappresentativo di elementi di addestramento, puoi creare una pipeline di addestramento AutoML Edge.
Seleziona un tipo di dati.
Immagine
Seleziona la scheda di seguito per il tuo obiettivo:
Classificazione
In fase di addestramento, puoi scegliere il tipo di modello AutoML Edge che preferisci, a seconda del caso d'uso specifico:
- bassa latenza (
MOBILE_TF_LOW_LATENCY_1
) - utilizzo per uso generico (
MOBILE_TF_VERSATILE_1
) - qualità della previsione superiore (
MOBILE_TF_HIGH_ACCURACY_1
)
Seleziona la scheda riportata di seguito per la tua lingua o il tuo ambiente:
REST
Prima di utilizzare qualsiasi dato della richiesta, effettua le seguenti sostituzioni:
- LOCATION: regione in cui si trova il set di dati e in cui viene creato il modello. Ad esempio,
us-central1
. - PROJECT: il tuo ID progetto.
- TRAININGPIPELINE_DISPLAYNAME: obbligatorio. Un nome visualizzato per trainingPipeline.
- DATASET_ID: il numero ID del set di dati da utilizzare per l'addestramento.
- fractionSplit: facoltativo. Una delle tante opzioni di machine learning possibili utilizza le opzioni suddivise per i dati. Per
fractionSplit
, la somma dei valori deve essere 1. Ad esempio:-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*: un nome visualizzato per il modello caricato (creato) da TrainingPipeline.
- MODEL_DESCRIPTION*: una descrizione del modello.
- modelToUpload.labels*: qualsiasi insieme di coppie chiave-valore per organizzare i tuoi modelli. Ad esempio:
- "env": "prod"
- "tier": "backend"
- EDGE_MODELTYPE†: il tipo di modello Edge da addestrare. Le opzioni sono:
MOBILE_TF_LOW_LATENCY_1
MOBILE_TF_VERSATILE_1
MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†: il costo effettivo dell'addestramento sarà uguale o inferiore a questo valore. Per i modelli Edge, il budget deve essere compreso tra 1000 e 100.000 milli ore nodo (incluse).
- PROJECT_NUMBER: numero del progetto
* | La descrizione del file di schema specificata in trainingTaskDefinition descrive l'utilizzo di questo campo. |
† | Il file di schema specificato in trainingTaskDefinition dichiara e descrive questo
campo. |
Metodo HTTP e URL:
POST http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
Corpo JSON della richiesta:
{ "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 } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciare
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
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
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo 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 "http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines" | Select-Object -Expand Content
La risposta contiene informazioni sulle specifiche e su TRAININGPIPELINE_ID.
Puoi ottenere lo stato del job trainingPipeline utilizzando TRAININGPIPELINE_ID.
Classificazione
In fase di addestramento, puoi scegliere il tipo di modello AutoML Edge che preferisci, a seconda del caso d'uso specifico:
- bassa latenza (
MOBILE_TF_LOW_LATENCY_1
) - utilizzo per uso generico (
MOBILE_TF_VERSATILE_1
) - qualità della previsione superiore (
MOBILE_TF_HIGH_ACCURACY_1
)
Seleziona la scheda riportata di seguito per la tua lingua o il tuo ambiente:
REST
Prima di utilizzare qualsiasi dato della richiesta, effettua le seguenti sostituzioni:
- LOCATION: regione in cui si trova il set di dati e in cui viene creato il modello. Ad esempio,
us-central1
. - PROJECT: il tuo ID progetto.
- TRAININGPIPELINE_DISPLAYNAME: obbligatorio. Un nome visualizzato per trainingPipeline.
- DATASET_ID: il numero ID del set di dati da utilizzare per l'addestramento.
- fractionSplit: facoltativo. Una delle tante opzioni di machine learning possibili utilizza le opzioni suddivise per i dati. Per
fractionSplit
, la somma dei valori deve essere 1. Ad esempio:-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*: un nome visualizzato per il modello caricato (creato) da TrainingPipeline.
- MODEL_DESCRIPTION*: una descrizione del modello.
- modelToUpload.labels*: qualsiasi insieme di coppie chiave-valore per organizzare i tuoi modelli. Ad esempio:
- "env": "prod"
- "tier": "backend"
- EDGE_MODELTYPE†: il tipo di modello Edge da addestrare. Le opzioni sono:
MOBILE_TF_LOW_LATENCY_1
MOBILE_TF_VERSATILE_1
MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†: il costo effettivo dell'addestramento sarà uguale o inferiore a questo valore. Per i modelli Edge, il budget deve essere compreso tra 1000 e 100.000 milli ore nodo (incluse).
- PROJECT_NUMBER: numero del progetto
* | La descrizione del file di schema specificata in trainingTaskDefinition descrive l'utilizzo di questo campo. |
† | Il file di schema specificato in trainingTaskDefinition dichiara e descrive questo
campo. |
Metodo HTTP e URL:
POST http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
Corpo JSON della richiesta:
{ "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 } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciare
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
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
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo 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 "http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines" | Select-Object -Expand Content
La risposta contiene informazioni sulle specifiche e su TRAININGPIPELINE_ID.
Puoi ottenere lo stato del job trainingPipeline utilizzando TRAININGPIPELINE_ID.
Rilevamento di oggetti
In fase di addestramento, puoi scegliere il tipo di modello AutoML Edge che preferisci, a seconda del caso d'uso specifico:
- bassa latenza (
MOBILE_TF_LOW_LATENCY_1
) - utilizzo per uso generico (
MOBILE_TF_VERSATILE_1
) - qualità della previsione superiore (
MOBILE_TF_HIGH_ACCURACY_1
)
Seleziona la scheda riportata di seguito per la tua lingua o il tuo ambiente:
REST
Prima di utilizzare qualsiasi dato della richiesta, effettua le seguenti sostituzioni:
- LOCATION: regione in cui si trova il set di dati e in cui viene creato il modello. Ad esempio,
us-central1
. - PROJECT: il tuo ID progetto.
- TRAININGPIPELINE_DISPLAYNAME: obbligatorio. Un nome visualizzato per trainingPipeline.
- DATASET_ID: il numero ID del set di dati da utilizzare per l'addestramento.
fractionSplit
: facoltativo. Una delle tante opzioni di machine learning possibili utilizza le opzioni suddivise per i dati. PerfractionSplit
, la somma dei valori deve essere 1. Ad esempio:-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*: un nome visualizzato per il modello caricato (creato) da TrainingPipeline.
- MODEL_DESCRIPTION*: una descrizione del modello.
- modelToUpload.labels*: qualsiasi insieme di coppie chiave-valore per organizzare i tuoi modelli. Ad esempio:
- "env": "prod"
- "tier": "backend"
- EDGE_MODELTYPE†: il tipo di modello Edge da addestrare. Le opzioni sono:
MOBILE_TF_LOW_LATENCY_1
MOBILE_TF_VERSATILE_1
MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†: il costo effettivo dell'addestramento sarà uguale o inferiore a questo valore. Per i modelli Cloud, il budget deve essere compreso tra 20.000 e 900.000 milli ore nodo (incluse). Il valore predefinito è 216.000,che rappresenta un giorno nel tempo totale di esecuzione, supponendo che vengano utilizzati 9 nodi.
- PROJECT_NUMBER: numero del progetto
* | La descrizione del file di schema specificata in trainingTaskDefinition descrive l'utilizzo di questo campo. |
† | Il file di schema specificato in trainingTaskDefinition dichiara e descrive questo
campo. |
Metodo HTTP e URL:
POST http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
Corpo JSON della richiesta:
{ "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 } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciare
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
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"