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 Vertex AI.
Addestramento di un modello AutoML
Console Google Cloud
Nella console Google Cloud, nella sezione Vertex AI, vai a alla pagina Set di dati.
Fai clic sul nome del set di dati che vuoi utilizzare per addestrare il modello per aprire nella 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 Avanzato opzioni e seleziona un'opzione di suddivisione dati. Scopri di più.
Fai clic su Inizia addestramento.
L'addestramento del modello può richiedere molte ore, a seconda delle dimensioni e della complessità del e il budget per l'addestramento, se ne hai specificato uno. Puoi chiudere questa scheda e tornarci in un secondo momento. Riceverai un'email quando il modello sarà completato addestramento.
API
Seleziona la scheda di seguito per il tuo scopo:
Classificazione
Seleziona la scheda di seguito relativa alla tua lingua o al tuo ambiente:
REST
Prima di utilizzare i dati 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: campo obbligatorio. Un nome visualizzato per trainingPipeline.
- DATASET_ID: il numero ID del set di dati da utilizzare per l'addestramento.
fractionSplit
: facoltativo. Uno dei vari possibili utilizzi del ML divisa opzioni per i tuoi dati. PerfractionSplit
, la somma dei valori deve essere uguale a 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
di grandi dimensioni. Ad esempio:
- "env": "prod"
- "tier": "backend"
- MODELTYPE†: il tipo di modello ospitato sul cloud da addestrare. Le opzioni
sono:
CLOUD
(valore predefinito)
- 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 8000 e 800.000 milli-ore nodo (inclusi). Il valore predefinito è 192.000, che rappresenta un giorno in tempo reale, supponendo che vengano utilizzati 8 nodi.
- PROJECT_NUMBER: il numero di progetto generato automaticamente per il tuo progetto
* | La descrizione del file dello 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 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/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 sulla TRAININGPIPELINE_ID.
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di Vertex AI con librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Vertex AI.
Per autenticarti in Vertex AI, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione Node.js riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Vertex AI.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta documentazione di riferimento dell'API Python.
Classificazione
Seleziona la scheda di seguito relativa alla tua lingua o al tuo ambiente:
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION: regione in cui si trova il set di dati e viene creato il modello. Ad esempio,
us-central1
. - PROJECT: il tuo ID progetto.
- TRAININGPIPELINE_DISPLAYNAME: campo obbligatorio. Un nome visualizzato per trainingPipeline.
- DATASET_ID: il numero ID del set di dati da utilizzare per l'addestramento.
fractionSplit
: facoltativo. Una delle varie possibili opzioni di suddivisione per l'utilizzo del machine learning per i tuoi 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
di grandi dimensioni. Ad esempio:
- "env": "prod"
- "tier": "backend"
- MODELTYPE†: il tipo di modello ospitato sul cloud da addestrare. Le opzioni
sono:
CLOUD
(valore predefinito)
- NODE_HOUR_BUDGET†: il costo effettivo della formazione sarà uguale o inferiore a questo valore. Per i modelli Cloud il budget deve essere compreso tra 8000 e 800.000 milli-ore nodo (inclusi). Il valore predefinito è 192.000,che rappresenta un giorno nel tempo totale di esecuzione, supponendo che vengano utilizzati 8 nodi.
- PROJECT_NUMBER: il numero di progetto generato automaticamente del progetto
* | La descrizione del file dello 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 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/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 sulla TRAININGPIPELINE_ID.
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di Vertex AI con librerie client. Per ulteriori informazioni, consulta API Java Vertex AI documentazione di riferimento.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nel Guida rapida di Vertex AI con librerie client. Per ulteriori informazioni, consulta API Node.js Vertex AI documentazione di riferimento.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura 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 ulteriori informazioni, consulta documentazione di riferimento dell'API Python.
Controlla la suddivisione dei dati utilizzando REST
È possibile controllare il modo in cui i dati di addestramento
di convalida e test. Quando utilizzi l'API Vertex AI, utilizza
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
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 viene specificata una delle frazioni, devono essere specificate tutte. La somma delle frazioni deve essere pari a 1,0. La 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 corrispondenti a questo filtro vengono utilizzati per il set di addestramento.
- VALIDATION_FILTER: gli elementi di dati che corrispondono a questo filtro sono utilizzato per il set di convalida. Deve essere "-" per i dati video.
- TEST_FILTER: gli elementi di dati corrispondenti a questo filtro vengono utilizzati per il set di test.
Questi filtri possono essere utilizzati con l'etichetta ml_use
,
o con le etichette che applichi 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 filterSplit
l'oggetto con l'etichetta ml_use
, con lo stato
set 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" }