Puoi creare un modello personalizzato addestrandolo con un set di dati preparato. L'API AutoML utilizza gli elementi del set di dati per addestrare il modello, testarlo e evaluate le sue prestazioni. Puoi rivedere i risultati, modificare il set di dati di addestramento in base alle esigenze e addestrare un nuovo modello utilizzando il set di dati migliorato.
L'addestramento di un modello può richiedere diverse ore. L'API AutoML consente di controllare lo stato dell'addestramento.
Poiché AutoML Vision crea un nuovo modello ogni volta che inizi l'addestramento, il progetto potrebbe includere numerosi modelli. Puoi ottenere un elenco dei modelli presenti nel tuo progetto ed eliminare i modelli che non ti servono più. In alternativa, puoi utilizzare l'interfaccia utente di Cloud AutoML Vision per elencare ed eliminare i modelli creati tramite l'API AutoML che non ti servono più.
I modelli si basano su ricerche all'avanguardia in Google. Il modello sarà disponibile come pacchetto TF Lite. Per ulteriori informazioni su come integrare un modello TensorFlow utilizzando l'SDK TensorFlow Lite, consulta i seguenti link per iOS e Android.
Addestramento dei modelli Edge
Quando hai un set di dati con un solido set di elementi di addestramento etichettati, puoi creare e addestrare il tuo modello Edge personalizzato.
Distribuzione con TensorFlow e modelli TF Lite
Durante l'addestramento dei modelli Edge, puoi specificare tre valori distinti nel campo modelType
, a seconda delle esigenze del tuo modello:
mobile-low-latency-1
per bassa latenza,mobile-versatile-1
per uso generico oppuremobile-high-accuracy-1
per una migliore qualità delle previsioni.
Il tipo di modello verrà mostrato anche nella risposta alla richiesta API.
UI web
-
Apri il AutoML Vision Object Detection UI.
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à la finestra laterale "Addestra nuovo modello" con le opzioni di addestramento.
- Dalla sezione di addestramento Definisci il modello, modifica il nome del modello
(o utilizza il valore predefinito) e seleziona radio_button_checked
Perimetrale come tipo di modello. Dopo aver scelto di addestrare un modello Edge, seleziona Continua.
-
Nella sezione Ottimizza il modello per, seleziona il criterio di ottimizzazione che preferisci: radio_button_checked Accuratezza maggiore, Miglior compromesso o Previsione più veloce. Dopo aver selezionato la specifica di ottimizzazione, seleziona Continua.
-
Nella sezione Imposta un budget per l'ora nodo, utilizza il budget consigliato per l'ora nodo oppure specifica un valore diverso.
Per impostazione predefinita, 24 ore nodo dovrebbero essere sufficienti per la maggior parte dei set di dati per l'addestramento del modello. Questo valore consigliato è una stima per rendere il modello completamente convergente. Tuttavia, puoi scegliere un altro importo. Il numero minimo di ore nodo per la classificazione delle immagini è 8. Per il rilevamento di oggetti, l'importo minimo è 20.
-
Seleziona Inizia addestramento per avviare l'addestramento del modello.
L'addestramento di un modello può richiedere diverse ore. Dopo l'addestramento del modello, riceverai un messaggio all'indirizzo email che hai utilizzato per il tuo progetto Google Cloud Platform.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: l'ID del tuo progetto Google Cloud.
- dataset-id: l'ID del set di dati. L'ID è l'ultimo elemento del nome
del set di dati. Ecco alcuni esempi:
- nome set di dati:
projects/project-id/locations/location-id/datasets/3104518874390609379
- ID set di dati:
3104518874390609379
- nome set di dati:
- display-name: un nome visualizzato per la stringa di tua scelta.
Considerazioni sui campi specifici:
imageObjectDetectionModelMetadata.trainBudgetMilliNodeHours
: il budget di addestramento per la creazione di questo modello, espresso in milli ore nodo (1000 valori in questo campo corrispondono a 1 ora nodo). Il valore effettivo ditrainCostMilliNodeHours
sarà uguale o inferiore a questo valore. Se l'addestramento del modello non fornisce più miglioramenti, non utilizzerà l'intero budget e il valore distopReason
saràMODEL_CONVERGED
.Nota: node_hour = current_hour * number_of_nodes_involved.
Per il tipo di modello
mobile-low-latency-1
,mobile-versatile-1
omobile-high-accuracy-1
, il budget di addestramento deve essere compreso tra 1000 e 100.000 milli-ore nodo inclusi. Il valore predefinito è 24.000,che rappresenta un giorno nel tempo totale di esecuzione.
Metodo HTTP e URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models
Corpo JSON della richiesta:
{ "displayName": "DISPLAY_NAME", "datasetId": "DATASET_ID", "imageObjectDetectionModelMetadata": { "modelType": "mobile-low-latency-1", "trainBudgetMilliNodeHours": "24000" } }
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 "x-goog-user-project: project-id" \
-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 questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
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
(in questo caso IOD2106290444865378475
) per ottenere lo stato dell'attività. Per un esempio, vedi Utilizzo di operazioni a lunga esecuzione.
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/IOD2106290444865378475", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-07-29T17:16:34.476787Z", "updateTime": "2019-07-29T17:16:34.476787Z", "createModelDetails": {} } }
Go
Prima di provare questo esempio, segui le istruzioni di configurazione per la lingua in questione nella pagina Librerie client.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione per la lingua in questione nella pagina Librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione per la lingua in questione nella pagina Librerie client.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione per la lingua in questione nella pagina Librerie client.
Elenca stato operazioni
Usa i seguenti esempi di codice per elencare le operazioni del progetto e filtrare i risultati.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: l'ID del tuo progetto Google Cloud.
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:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
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 terminate, 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 questo linguaggio nella pagina API e riferimento > Librerie client.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione per questo linguaggio nella pagina API e riferimento > Librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione per questo linguaggio nella pagina API e riferimento > Librerie client.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione per questo linguaggio nella pagina API e riferimento > Librerie client.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi visita la documentazione di riferimento sul rilevamento di oggetti AutoML Vision per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento sul rilevamento di oggetti AutoML Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento di AutoML Vision per il rilevamento di oggetti per Ruby.
Recuperare lo stato di un'operazione
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: l'ID del tuo progetto Google Cloud.
- 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:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
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 del 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 la lingua in questione nella pagina Librerie client.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione per la lingua in questione nella pagina Librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione per la lingua in questione nella pagina Librerie client.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione per la lingua in questione nella pagina Librerie client.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi visita la documentazione di riferimento sul rilevamento di oggetti AutoML Vision per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento sul rilevamento di oggetti AutoML Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento di AutoML Vision per il rilevamento di oggetti per Ruby.
Annullamento di una transazione
Puoi annullare un'attività di importazione o addestramento utilizzando l'ID operazione.
REST
Prima di provare questo esempio, segui le istruzioni di configurazione per la lingua in questione nella pagina Librerie client.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: l'ID del tuo progetto Google Cloud.
- 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:
curl
Esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-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 print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
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 delle informazioni su un modello
Utilizza i seguenti esempi di codice per ottenere informazioni su un modello addestrato specifico. Puoi utilizzare le informazioni restituite da questa richiesta per modificare la modalità o inviare una richiesta di previsione.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: l'ID del tuo progetto Google Cloud.
- model-id: l'ID del modello, dalla
risposta al momento della 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:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
"https://automl.googleapis.com/v1/projects/project-id/locations/us-central1/models/model-id"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
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-29T17:16:34.476787Z", "deploymentState": "UNDEPLOYED", "updateTime": "2019-07-29T18:30:13.601461Z", "imageObjectDetectionModelMetadata": { "modelType": "mobile-low-latency-1", "nodeQps": -1, "stopReason": "MODEL_CONVERGED", "trainBudgetMilliNodeHours": "24000", "trainCostMilliNodeHours": "861" } }
Go
Prima di provare questo esempio, segui le istruzioni di configurazione per la lingua in questione nella pagina Librerie client.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione per la lingua in questione nella pagina Librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione per la lingua in questione nella pagina Librerie client.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione per la lingua in questione nella pagina Librerie client.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi visita la documentazione di riferimento sul rilevamento di oggetti AutoML Vision per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento sul rilevamento di oggetti AutoML Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento di AutoML Vision per il rilevamento di oggetti per Ruby.