Puoi creare un modello personalizzato addestrandolo utilizzando un set di dati preparato. L'API AutoML utilizza gli elementi del set di dati per addestrare il modello, testarlo e evaluate le prestazioni. Puoi esaminare 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 a ogni avvio dell'addestramento, il progetto può 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 sulla ricerca all'avanguardia di Google. Il tuo modello sarà disponibile come pacchetto TF Lite. Per ulteriori informazioni su come integrare un modello TensorFlow Lite 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 insieme di elementi di addestramento etichettati, è tutto pronto per creare e addestrare il tuo modello Edge personalizzato.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi consulta la documentazione di riferimento di AutoML Vision per .NET.
PHP: segui le istruzioni per la configurazione dei file PHP nella pagina delle librerie client e consulta la documentazione di riferimento di 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 Ruby.
TensorFlow Service e TF Lite
Durante l'addestramento, puoi scegliere il tipo di modello Edge desiderato, a seconda del caso d'uso specifico:
- bassa latenza (
mobile-low-latency-1
) - utilizzo per uso generico (
mobile-versatile-1
) - qualità della previsione superiore (
mobile-high-accuracy-1
)
UI web
-
Apri l'Vision Dashboard.
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 le opzioni di addestramento.
- Nella sezione di addestramento Definisci il modello, modifica il nome del modello (o utilizza il valore predefinito) e seleziona radio_button_checked Perimetro come tipo di modello. Dopo aver scelto di addestrare un modello Edge, seleziona Continua.
-
Nella sezione Ottimizza modello per seguente, seleziona il criterio di ottimizzazione desiderato: radio_button_checked Maggiore precisione, Miglior compromesso o Previsione più rapida. Dopo aver selezionato la specifica di ottimizzazione, seleziona Continua.
-
Nella sezione Imposta un budget per l'ora nodo riportata di seguito, 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 sceglierne un altro. Il numero minimo di ore nodo per la classificazione delle immagini è 8. Per il rilevamento di oggetti, questo importo minimo è 20.
-
Seleziona Inizia addestramento per iniziare l'addestramento del modello.
L'addestramento di un modello può richiedere diverse ore. Al termine dell'addestramento del modello, riceverai un messaggio all'indirizzo email che hai utilizzato per il progetto Google Cloud Platform.
REST
Durante l'addestramento di modelli Edge, puoi specificare tre valori distinti nel campo modelType
a seconda delle esigenze del modello:
mobile-low-latency-1
per bassa latenzamobile-versatile-1
per uso genericomobile-high-accuracy-1
per una maggiore qualità della previsione
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: l'ID del tuo progetto Google Cloud.
- display-name: un nome visualizzato della stringa a tua scelta.
- 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:
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", "imageClassificationModelMetadata": { "trainBudget": "1", "modelType": "mobile-low-latency-1" } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
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 (ICN2106290444865378475
, in questo caso) per ottenere lo stato dell'attività. Per un esempio, vedi Operazioni con operazioni a lunga esecuzione.
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/ICN2106290444865378475", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-10-30T20:06:08.253243Z", "updateTime": "2019-10-30T20:06:08.253243Z", "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.
Stato delle operazioni dell'elenco
Utilizza 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:
arricciatura
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 di selezione
(operationId
, done
e worksOn
). Ad esempio, per restituire un elenco di operazioni la cui esecuzione è terminata, 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 riferimenti > Librerie client.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione per questo linguaggio nella pagina API e riferimenti > Librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione per questo linguaggio nella pagina API e riferimenti > Librerie client.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione per questo linguaggio nella pagina API e riferimenti > Librerie client.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi consulta la documentazione di riferimento di AutoML Vision Object Detection per .NET.
PHP: segui le istruzioni per la configurazione dei file 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 Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento di AutoML Vision Object Detection per Ruby.
Utilizzo delle operazioni a lunga esecuzione
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:
arricciatura
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 questo linguaggio nella pagina API e riferimenti > Librerie client.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione per questo linguaggio nella pagina API e riferimenti > Librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione per questo linguaggio nella pagina API e riferimenti > Librerie client.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione per questo linguaggio nella pagina API e riferimenti > Librerie client.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi consulta la documentazione di riferimento di AutoML Vision per .NET.
PHP: segui le istruzioni per la configurazione dei file PHP nella pagina delle librerie client e consulta la documentazione di riferimento di 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 Ruby.
Annullamento di un'operazione
Puoi annullare un'attività di importazione o addestramento utilizzando l'ID operazione.
REST
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua 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:
arricciatura
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 di 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 del modello:
projects/project-id/locations/location-id/models/IOD4412217016962778756
- ID modello:
IOD4412217016962778756
- nome del 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:
arricciatura
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-10-30T20:06:08.253243Z", "deploymentState": "UNDEPLOYED", "updateTime": "2019-10-30T20:54:50.472328Z", "imageClassificationModelMetadata": { "trainBudget": "1", "modelType": "mobile-low-latency-1", "nodeQps": 3.2 } }
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.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi consulta la documentazione di riferimento di AutoML Vision Object Detection per .NET.
PHP: segui le istruzioni per la configurazione dei file 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 Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento di AutoML Vision Object Detection per Ruby.
Addestramento ripristinabile
Ora puoi mettere in pausa e riprendere l'addestramento di modelli personalizzati per set di dati di grandi dimensioni (con più di mille immagini). La sospensione dell'addestramento del modello non è un'azione manuale che implica un pulsante di pausa.
Imposta invece il budget dell'ora nodo su un orario specifico, ad esempio due ore.
Una volta raggiunto il tempo, l'addestramento si interrompe automaticamente indipendentemente dallo stato del modello.
L'addestramento ripristinabile è disponibile con le seguenti restrizioni:
- Limite di tempo del modello di base: puoi riprendere l'addestramento solo sui modelli che sono stati addestrati negli ultimi 14 giorni. I modelli di base creati più di 14 giorni prima della richiesta non sono idonei per l'addestramento ripristinabile.
- Nessuna modifica delle etichette: l'addestramento ripristinabile non va a buon fine se modifichi le etichette nel set di dati del modello di base.
- Nessuna garanzia di prestazioni migliori: l'utilizzo dell'addestramento ripristinabile su un modello non garantisce prestazioni migliori per il modello.
UI web
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella pagina Librerie client.
-
Apri l'AutoML Vision 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.
Il nome visualizzato del set di dati selezionato viene visualizzato nella barra del titolo e la pagina elenca i singoli elementi del set di dati insieme alle relative etichette.
Una volta completata la revisione del set di dati, seleziona la scheda Addestra appena sotto la barra del titolo.
I modelli addestrati in precedenza verranno visualizzati in un elenco in questa scheda.
Se per un modello è disponibile un addestramento ripristinabile, questo verrà visualizzato come opzione accanto all'opzione Visualizza valutazione completa.
Seleziona Riprendi addestramento per riprendere l'addestramento su un modello applicabile.
Come per l'addestramento del modello originale, se selezioni Riprendi addestramento, si aprirà una finestra laterale "Addestra nuovo modello". Nella sezione Definisci il modello, puoi modificare il nome del nuovo modello. Vedrai anche il nome del modello di base utilizzato per addestrare questo modello.
Dopo aver definito il modello, seleziona Continua per passare alla sezione successiva.
Nella sezione Imposta un budget per l'ora nodo riportata di seguito, specifica un budget per l'ora nodo. Questo budget è soggetto a una struttura di pricing e a restrizioni di quota simili all'addestramento iniziale del modello.
Dopo aver specificato un budget per l'addestramento, seleziona Inizia addestramento. Riceverai un'email al termine dell'addestramento ripristinabile.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- base-model-id: l'ID del modello di base (esistente). Il nuovo modello viene creato in base a questo modello di base. Le seguenti specifiche del nuovo modello devono corrispondere al modello di base:
- progetto
- località
-
modelType
*
* La base e il nuovo
modelType
verranno controllati anche se questo campo viene omesso nella nuova richiesta del modello. - project-id: l'ID del tuo progetto Google Cloud.
- display-name: un nome visualizzato della stringa a tua scelta.
- 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:
Metodo HTTP e URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models
Corpo JSON della richiesta:
{ "baseModelId": BASE_MODEL_ID, "displayName": "DISPLAY_NAME", "datasetId": "DATASET_ID", "imageClassificationModelMetadata": { "trainBudget": "1", "modelType": "mobile-low-latency-1" } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
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 (ICN2106290444865378475
, in questo caso) per ottenere lo stato dell'attività. Per un esempio, vedi Operazioni con operazioni a lunga esecuzione.
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/ICN2106290444865378475", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-10-30T20:06:08.253243Z", "updateTime": "2019-10-30T20:06:08.253243Z", "createModelDetails": {} } }