Questa pagina mostra come addestrare un modello AutoML per il riconoscimento delle azioni da un set di dati video utilizzando la console Google Cloud o l'API Vertex AI.
Addestra un modello AutoML
Console Google Cloud
Nella console Google Cloud, nella sezione Vertex AI, vai alla pagina Set di dati.
Fai clic sul nome del set di dati che vuoi utilizzare per addestrare il modello per aprire la relativa pagina dei dettagli.
Fai clic su Addestra nuovo modello.
Inserisci il nome visualizzato per il nuovo modello.
Se vuoi impostare manualmente la suddivisione dei dati di addestramento, espandi Opzioni avanzate e seleziona un'opzione di suddivisione dati. Scopri di più.
Fai clic su Continua.
Seleziona il metodo di addestramento del modello.
AutoML
è una buona scelta per un'ampia gamma di casi d'uso.Seq2seq+
è una buona scelta per la sperimentazione. È probabile che l'algoritmo converga più velocemente diAutoML
perché la sua architettura è più semplice e utilizza uno spazio di ricerca più piccolo. Dai nostri esperimenti è emerso che Seq2Seq+ funziona bene con un budget di tempo ridotto e su set di dati di dimensioni inferiori a 1 GB.
Fai clic su Inizia addestramento.
L'addestramento del modello può richiedere molte ore, a seconda delle dimensioni e della complessità dei dati e del budget per l'addestramento, se specificato. Puoi chiudere questa scheda e tornarla in un secondo momento. Riceverai un'email al termine dell'addestramento del modello.
Diversi minuti dopo l'inizio dell'addestramento, puoi controllare la stima dell'ora del nodo di addestramento dalle informazioni sulle proprietà del modello. Se annulli l'addestramento, non viene addebitato alcun costo sul prodotto corrente.
API
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT: il tuo ID progetto.
- LOCATION: regione in cui si trova il set di dati e in cui viene creato il modello. Ad esempio,
us-central1
. - TRAINING_PIPELINE_DISPLAY_NAME: campo obbligatorio. Un nome visualizzato per TrainingPipeline.
- DATASET_ID: ID per il set di dati di addestramento.
-
TRAINING_FRACTION, TEST_FRACTION:
l'oggetto
fractionSplit
è facoltativo; puoi utilizzarlo per controllare la suddivisione dati. Per saperne di più su come controllare la suddivisione dati, consulta Informazioni sulle suddivisioni di dati per i modelli AutoML. Ecco alcuni esempi:{"trainingFraction": "0.8","validationFraction": "0","testFraction": "0.2"}
- MODEL_DISPLAY_NAME: nome visualizzato del modello addestrato.
- MODEL_DESCRIPTION: una descrizione del modello.
- MODEL_LABELS: qualsiasi insieme di coppie chiave-valore per organizzare i tuoi modelli. Ad esempio:
- "env": "prod"
- "tier": "backend"
- EDGE_MODEL_TYPE:
MOBILE_VERSATILE_1
: utilizzo generico
- PROJECT_NUMBER: il numero di progetto generato automaticamente per il tuo progetto
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/beta1/projects/PROJECT/locations/LOCATION/trainingPipelines
Corpo JSON della richiesta:
{ "displayName": "TRAINING_PIPELINE_DISPLAY_NAME", "inputDataConfig": { "datasetId": "DATASET_ID", "fractionSplit": { "trainingFraction": "TRAINING_FRACTION", "validationFraction": "0", "testFraction": "TEST_FRACTION" } }, "modelToUpload": { "displayName": "MODEL_DISPLAY_NAME", "description": "MODEL_DESCRIPTION", "labels": { "KEY": "VALUE" } }, "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_video_object_tracking_1.0.0.yaml", "trainingTaskInputs": { "modelType": ["EDGE_MODEL_TYPE"], } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
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 \
"https://LOCATION-aiplatform.googleapis.com/beta1/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 "https://LOCATION-aiplatform.googleapis.com/beta1/projects/PROJECT/locations/LOCATION/trainingPipelines" | Select-Object -Expand Content
La risposta contiene informazioni sulle specifiche e sull'TRAININGPIPELINE_ID.
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java Vertex AI.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python.
Controlla la suddivisione dei dati utilizzando REST
Puoi controllare in che modo i dati di addestramento vengono suddivisi tra set di addestramento,
convalida e test. Quando usi l'API Vertex AI, utilizza
l'oggetto Split
per determinare
la suddivisione dei dati. L'oggetto Split
può essere incluso nell'oggetto InputConfig
come uno dei vari tipi di oggetto, ognuno dei quali fornisce un modo diverso
per suddividere i dati di addestramento. Puoi selezionare un solo metodo.
-
FractionSplit
:- TRAINING_FRACTION: la frazione dei dati di addestramento da utilizzare per il set di addestramento.
- VALIDATION_FRACTION: la frazione dei dati di addestramento da utilizzare per il set di convalida. Non utilizzato per i dati video.
- TEST_FRACTION: la frazione dei dati di addestramento da utilizzare per il set di test.
Se si specifica una qualsiasi delle frazioni, è necessario specificarle tutte. La somma delle frazioni deve essere 1,0. I valori predefiniti per le frazioni variano a seconda del tipo di dati. Scopri di più.
"fractionSplit": { "trainingFraction": TRAINING_FRACTION, "validationFraction": VALIDATION_FRACTION, "testFraction": TEST_FRACTION },
-
FilterSplit
: - TRAINING_FILTER: gli elementi di dati che corrispondono a questo filtro vengono utilizzati per il set di addestramento.
- VALIDATION_FILTER: gli elementi di dati che corrispondono a questo filtro vengono utilizzati per il set di convalida. Deve essere "-" per i dati video.
- TEST_FILTER: gli elementi di dati che corrispondono a questo filtro vengono utilizzati per il set di test.
Questi filtri possono essere utilizzati con l'etichetta ml_use
o con qualsiasi etichetta applicata ai dati. Scopri di più sull'utilizzo
dell'etichetta ML-use
e di altre etichette
per filtrare i dati.
L'esempio seguente mostra come utilizzare l'oggetto filterSplit
con l'etichetta ml_use
, incluso il set di convalida:
"filterSplit": { "trainingFilter": "labels.aiplatform.googleapis.com/ml_use=training", "validationFilter": "labels.aiplatform.googleapis.com/ml_use=validation", "testFilter": "labels.aiplatform.googleapis.com/ml_use=test" }