Puoi creare un modello personalizzato addestrandolo utilizzando un set di dati già pronto. L'API AutoML Vision utilizza le immagini del set di dati per addestrare il modello, testarlo e valutarne le prestazioni. Puoi esaminare i risultati, modificare il set di dati di addestramento secondo necessità e addestrare un nuovo modello utilizzando il set di dati migliorato.
L'addestramento di un modello può richiedere diverse ore. L'API AutoML Vision ti consente di controllare lo stato dell'addestramento.
Addestramento dei modelli
Quando disponi di un set di dati con un set solido di immagini di addestramento annotate con etichette e riquadri di delimitazione, puoi creare e addestrare il modello personalizzato.
UI web
Apri l'interfaccia utente di rilevamento automatico oggetti AutoML.
La pagina Set di dati mostra i set di dati disponibili per il progetto corrente.
Seleziona il set di dati da utilizzare per addestrare il modello personalizzato.
Quando il set di dati è pronto, seleziona la scheda Addestra e il pulsante Addestra nuovo modello.
Si aprirà una finestra laterale Addestra nuovo modello con opzioni di addestramento.
Nella sezione Definisci il tuo modello, specifica un Nome modello oppure accetta il nome predefinito. Seleziona radio_button_checked Tipo di hosting in Cloud come tipo di modello, se non è già specificato. Dopo aver scelto di addestrare un modello di Edge, seleziona Continua.
Nella sezione Modello Optimize per, seleziona il criterio di ottimizzazione desiderato: radio_button_checked Maggiore precisione o Previsione più veloce. Dopo aver selezionato la specifica di ottimizzazione, seleziona Continua.
Nella sezione Imposta un budget per l'ora nodo seguente, specifica il budget dei nodi che preferisci.
Per impostazione predefinita, 24 ore nodo dovrebbero essere sufficienti per addestrare il tuo modello alla maggior parte dei set di dati. Questo valore consigliato è una stima per rendere il modello completamente convergente. Tuttavia, puoi scegliere un altro importo. Il numero minimo di ore nodo per il rilevamento oggetti è 20. Per la classificazione delle immagini, l'importo minimo è 8.
In questa sezione puoi anche attivare l'implementazione automatica del tuo modello dopo l'addestramento selezionando check_box Esegui il deployment del modello su 1 nodo dopo l'addestramento. In caso contrario, dovrai eseguire manualmente il deployment del modello una volta completato l'addestramento.
Seleziona Inizia addestramento per iniziare l'addestramento del modello.
L'addestramento di un modello può richiedere diverse ore. Una volta completato l'addestramento del modello, riceverai un messaggio all'indirizzo email utilizzato per il progetto Google Cloud Platform.
REST &CMD LINE
Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
- project-id: ID progetto GCP.
- dataset-id: l'ID del tuo set di dati. L'ID è l'ultimo elemento del nome del set di dati. Ad esempio:
- nome del set di dati:
projects/project-id/locations/location-id/datasets/3104518874390609379
- ID set di dati:
3104518874390609379
- nome del set di dati:
- display-name: un nome visualizzato della stringa di tua scelta.
Considerazioni specifiche sui campi:
imageObjectDetectionModelMetadata.modelType
- Indica una delle due opzioni disponibili per ottimizzare il modello:cloud-low-latency-1
: ottimizza l'addestramento per la latenza.cloud-high-accuracy-1
: ottimizza l'addestramento per aumentarne l'accuratezza.imageObjectDetectionModelMetadata.trainBudgetMilliNodeHours
: il budget di addestramento per la creazione di questo modello, espresso in millisecondi (1000 in questo campo significa 1 ora nodo). Il valore effettivo ditrainCostMilliNodeHours
sarà uguale o inferiore a questo valore. Se l'addestramento di un modello ulteriore cessa di fornire miglioramenti, si interromperà senza utilizzare l'intero budget e il valore distopReason
saràMODEL_CONVERGED
.Nota: node_hour = tempo_effettivo * numero_di_nodi_involved.
Per il tipo di modello
cloud-high-accuracy-1
(predefinito) ecloud-low-latency-1
, il budget dell'addestramento deve essere compreso tra 20.000 e 2.000.000 di millimetri di nodi, inclusi. Il valore predefinito è 216.000, che rappresenta un giorno in tempo reale.
Metodo HTTP e URL:
POST https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models
Corpo JSON richiesta:
{ "displayName": "display-name", "datasetId": "dataset-id", "imageObjectDetectionModelMetadata": { "modelType": "cloud-low-latency-1", "trainBudgetMilliNodeHours": "216000" } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
Curling
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models"
PowerShell
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models" | Select-Object -Expand Content
Dovresti vedere un output simile al seguente. Puoi utilizzare l'ID operazione
(IOD3074819451447675546
, in questo caso) per ottenere lo stato dell'attività. Per un esempio, vedi Utilizzo delle operazioni a lunga esecuzione.
{ "name": "projects/project-id/locations/us-central1/operations/IOD3074819451447675546", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-07-26T21:10:18.338846Z", "updateTime": "2019-07-26T21:10:18.338846Z", "createModelDetails": {} } }
Go
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella pagina Librerie client.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella pagina Librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella pagina Librerie client.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella pagina Librerie client.
Lingue aggiuntive
C#: segui le istruzioni per la configurazione di C# nella pagina delle librerie client e consulta la documentazione di riferimento di AutoML Vision Object Detection per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e consulta la documentazione di riferimento di AutoML Vision Object Detection per PHP.
Ruby: segui le istruzioni di configurazione di Rubby nella pagina delle librerie client e consulta la documentazione di riferimento di Rilevamento di oggetti AutoML ML Vision per Ruby.
Elenca operazioni
Utilizza gli esempi di codice riportati di seguito per elencare le operazioni del progetto e filtrare i risultati.
REST &CMD LINE
Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
- project-id: ID progetto GCP.
Metodo HTTP e URL:
GET https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/operations
Per inviare la richiesta, scegli una delle seguenti opzioni:
Curling
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/operations"
PowerShell
Esegui questo comando:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/operations" | Select-Object -Expand Content
L'output visualizzato varia a seconda delle operazioni richieste.
Puoi anche filtrare le operazioni restituite utilizzando parametri di ricerca selezionati
(operationId
, done
e worksOn
). Ad esempio, per restituire un elenco di operazioni la cui esecuzione è stata completata, modifica l'URL:
GET https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/operations?filter="done=true"
Go
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella pagina relativa alle API & librerie client.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella pagina relativa alle API & librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella pagina relativa alle API & librerie client.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella pagina relativa alle API & librerie client.
Lingue aggiuntive
C#: segui le istruzioni per la configurazione di C# nella pagina delle librerie client e consulta la documentazione di riferimento di AutoML Vision Object Detection per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e consulta la documentazione di riferimento di AutoML Vision Object Detection per PHP.
Ruby: segui le istruzioni di configurazione di Rubby nella pagina delle librerie client e consulta la documentazione di riferimento di Rilevamento di oggetti AutoML ML Vision per Ruby.
Utilizzo delle operazioni a lunga esecuzione
REST &CMD LINE
Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
- project-id: ID progetto GCP.
- operation-id: l'ID dell'operazione. L'ID è l'ultimo elemento del nome dell'operazione. Ad esempio:
- nome operazione:
projects/project-id/locations/location-id/operations/IOD5281059901324392598
- ID operazione:
IOD5281059901324392598
- nome operazione:
Metodo HTTP e URL:
GET https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/operations/operation-id
Per inviare la richiesta, scegli una delle seguenti opzioni:
Curling
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/operations/operation-id"
PowerShell
Esegui questo comando:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/operations/operation-id" | Select-Object -Expand Content
{ "name": "projects/project-id/locations/us-central1/operations/operation-id", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2018-10-29T15:56:29.176485Z", "updateTime": "2018-10-29T16:10:41.326614Z", "importDataDetails": {} }, "done": true, "response": { "@type": "type.googleapis.com/google.protobuf.Empty" } }
Dovresti vedere un output simile al seguente per un'operazione di creazione di un modello completata:
{ "name": "projects/project-id/locations/us-central1/operations/operation-id", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-07-22T18:35:06.881193Z", "updateTime": "2019-07-22T19:58:44.972235Z", "createModelDetails": {} }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.automl.v1.Model", "name": "projects/project-id/locations/us-central1/models/model-id" } }
Go
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella pagina Librerie client.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella pagina Librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella pagina Librerie client.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella pagina Librerie client.
Lingue aggiuntive
C#: segui le istruzioni per la configurazione di C# nella pagina delle librerie client e consulta la documentazione di riferimento di AutoML Vision Object Detection per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e consulta la documentazione di riferimento di AutoML Vision Object Detection per PHP.
Ruby: segui le istruzioni di configurazione di Rubby nella pagina delle librerie client e consulta la documentazione di riferimento di Rilevamento di oggetti AutoML ML Vision per Ruby.
Annullamento di un'operazione
Puoi annullare un'attività di importazione o addestramento utilizzando l'ID operazione.
REST &CMD LINE
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella pagina Librerie client.
Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
- project-id: ID progetto GCP.
- operation-id: l'ID dell'operazione. L'ID è l'ultimo elemento del nome dell'operazione. Ad esempio:
- nome operazione:
projects/project-id/locations/location-id/operations/IOD5281059901324392598
- ID operazione:
IOD5281059901324392598
- nome operazione:
Metodo HTTP e URL:
POST https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/operations/operation-id:cancel
Per inviare la richiesta, scegli una delle seguenti opzioni:
Curling
Esegui questo comando:
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/operations/operation-id:cancel"
PowerShell
Esegui questo comando:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/operations/operation-id:cancel" | Select-Object -Expand Content
{}
Recupero di informazioni su un modello
Utilizza i seguenti esempi di codice per ottenere informazioni su un modello specifico addestrato. Puoi utilizzare le informazioni restituite da questa richiesta per modificare la modalità o inviare una richiesta di previsione.
REST &CMD LINE
Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
- project-id: ID progetto GCP.
- model-id: l'ID del modello, dalla risposta
durante la creazione del modello. L'ID è l'ultimo elemento del nome del modello.
Ad esempio:
- nome modello:
projects/project-id/locations/location-id/models/IOD4412217016962778756
- ID modello:
IOD4412217016962778756
- nome modello:
Metodo HTTP e URL:
GET https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id
Per inviare la richiesta, scegli una delle seguenti opzioni:
Curling
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id"
PowerShell
Esegui questo comando:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_ID/locations/us-central1/models/MODEL_ID", "displayName": "DISPLAY_NAME", "datasetId": "DATASET_ID", "createTime": "2019-07-26T21:10:18.338846Z", "deploymentState": "UNDEPLOYED", "updateTime": "2019-07-26T22:28:57.464076Z", "imageObjectDetectionModelMetadata": { "modelType": "cloud-low-latency-1", "nodeQps": 1.2987012987012987, "stopReason": "MODEL_CONVERGED", "trainBudgetMilliNodeHours": "216000", "trainCostMilliNodeHours": "8230" } }
Go
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella pagina Librerie client.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella pagina Librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella pagina Librerie client.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella pagina Librerie client.
Lingue aggiuntive
C#: segui le istruzioni per la configurazione di C# nella pagina delle librerie client e consulta la documentazione di riferimento di AutoML Vision Object Detection per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e consulta la documentazione di riferimento di AutoML Vision Object Detection per PHP.
Ruby: segui le istruzioni di configurazione di Rubby nella pagina delle librerie client e consulta la documentazione di riferimento di Rilevamento di oggetti AutoML ML Vision per Ruby.