Questa pagina mostra come addestrare un modello di classificazione AutoML da un set di dati di immagini utilizzando la console Google Cloud o l'API Agent Platform.
Addestra un modello AutoML
Console Google Cloud
Nella console Google Cloud , nella sezione Agent Platform, 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.
Per il metodo di addestramento, seleziona AutoML.
Fai clic su Continua.
Inserisci un nome per il modello.
Se vuoi impostare manualmente la suddivisione dei dati di addestramento, espandi Opzioni avanzate e seleziona un'opzione di suddivisione dei dati. Per saperne di più, consulta Informazioni sulle suddivisioni dei dati per i modelli AutoML.
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 di addestramento, se ne hai specificato uno. Puoi chiudere questa scheda e tornare in un secondo momento. Riceverai un'email al termine dell'addestramento del modello.
API
Seleziona la scheda di seguito in base al tuo obiettivo:
Classificazione
Seleziona la scheda di seguito per la tua lingua o il tuo ambiente:
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- LOCATION: la 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 la pipeline di addestramento.
- DATASET_ID: il numero ID del set di dati da utilizzare per l'addestramento.
fractionSplit: (Facoltativo) Una delle diverse opzioni di suddivisione per il machine learning possibili per i tuoi dati. PerfractionSplit, la somma dei valori deve essere pari a 1. Ad esempio:-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*: un nome visualizzato per il modello caricato (creato) dalla pipeline di addestramento.
- 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"
- MODELTYPE†: il tipo di modello ospitato su Cloud da addestrare. Le opzioni sono:
CLOUD(valore predefinito)
- NODE_HOUR_BUDGET†: il costo di addestramento effettivo sarà uguale o inferiore a questo valore. Per i modelli Cloud, il budget deve essere compreso tra 8000 e 800.000 millinodi/ora (inclusi). Il valore predefinito è 192.000,che rappresenta un giorno di tempo totale di esecuzione, supponendo che vengano utilizzati 8 nodi.
- PROJECT_NUMBER: il numero di progetto generato automaticamente per il tuo progetto
| * | La descrizione del file di schema specificata in trainingTaskDefinition descrive l'utilizzo di questo campo. |
| † | Il file dello schema specificato in trainingTaskDefinition dichiara e descrive questo campo. |
Metodo HTTP e URL:
POST https://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": ["MODELTYPE"],
"budgetMilliNodeHours": NODE_HOUR_BUDGET
}
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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 risposta contiene informazioni sulle specifiche e sul TRAININGPIPELINE_ID.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Agent Platform per l'utilizzo delle librerie client.
Per eseguire l'autenticazione in Agent Platform, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Agent Platform per l'utilizzo delle librerie client.
Per eseguire l'autenticazione in Agent Platform, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI Python, consulta Installa l'SDK Vertex AI Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Classificazione
Seleziona la scheda di seguito per la tua lingua o il tuo ambiente:
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- LOCATION: la regione in cui si trova il set di dati e in cui viene creato il modello. Ad esempio,
us-central1. - PROJECT: .
- TRAININGPIPELINE_DISPLAYNAME: obbligatorio. Un nome visualizzato per la pipeline di addestramento.
- DATASET_ID: il numero ID del set di dati da utilizzare per l'addestramento.
fractionSplit: (Facoltativo) Una delle diverse opzioni di suddivisione per il machine learning possibili per i tuoi dati. PerfractionSplit, la somma dei valori deve essere pari a 1. Ad esempio:-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*: un nome visualizzato per il modello caricato (creato) dalla pipeline di addestramento.
- 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"
- MODELTYPE†: il tipo di modello ospitato su Cloud da addestrare. Le opzioni sono:
CLOUD(valore predefinito)
- NODE_HOUR_BUDGET†: il costo di addestramento effettivo sarà uguale o inferiore a questo valore. Per i modelli Cloud, il budget deve essere compreso tra 8000 e 800.000 millinodi/ora (inclusi). Il valore predefinito è 192.000,che rappresenta un giorno di tempo totale di esecuzione, supponendo che vengano utilizzati 8 nodi.
- PROJECT_NUMBER: il numero di progetto generato automaticamente per il tuo progetto
| * | La descrizione del file di schema specificata in trainingTaskDefinition descrive l'utilizzo di questo campo. |
| † | Il file dello schema specificato in trainingTaskDefinition dichiara e descrive questo campo. |
Metodo HTTP e URL:
POST https://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": ["MODELTYPE"],
"budgetMilliNodeHours": NODE_HOUR_BUDGET
}
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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 risposta contiene informazioni sulle specifiche e sul TRAININGPIPELINE_ID.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Agent Platform per l'utilizzo delle librerie client.
Per eseguire l'autenticazione in Agent Platform, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Agent Platform per l'utilizzo delle librerie client.
Per eseguire l'autenticazione in Agent Platform, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI Python, consulta Installa l'SDK Vertex AI Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Controlla la suddivisione dei dati utilizzando REST
Puoi controllare la suddivisione dei dati di addestramento tra i set di addestramento, convalida e test. Quando utilizzi l'API Agent Platform, utilizza l'oggetto Split per determinare la suddivisione dei dati. L'oggetto Split può essere incluso nell'oggetto InputConfig come uno dei diversi tipi di oggetti, 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 validazione. Non utilizzato per i dati video.
- TEST_FRACTION: la frazione dei dati di addestramento da utilizzare per il set di test.
Se viene specificata una delle frazioni, devono essere specificate tutte. La somma delle frazioni deve essere pari a 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 dati che corrispondono a questo filtro vengono utilizzati per il set di addestramento.
- VALIDATION_FILTER: gli elementi dati che corrispondono a questo filtro vengono utilizzati per il set di validazione. Deve essere "-" per i dati video.
- TEST_FILTER: gli elementi 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, con il set di validazione incluso:
"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"
}