Un set di dati contiene campioni rappresentativi del tipo di contenuti da classificare, etichettati con le etichette di categoria che il modello personalizzato deve utilizzare. Il set di dati serve da input per l'addestramento di un modello.
I passaggi principali per la creazione di un set di dati sono:
- Crea un set di dati e specifica se consentire più etichette su ciascun elemento.
- Importare gli elementi di dati nel set di dati.
- Etichetta gli elementi.
Quando importi elementi con etichette già assegnate, i passaggi 2 e 3 vengono combinati.
Creazione di un set di dati
Il primo passaggio nella creazione di un modello personalizzato è creare un set di dati vuoto che alla fine conserverà i dati di addestramento del modello. Quando crei un set di dati, devi specificare il tipo di classificazione che vuoi che esegua il modello personalizzato:
- MULTICLASS assegna una singola etichetta a ogni immagine classificata
- MULTILABEL consente di assegnare più etichette a un'immagine
A partire dalla versione v1 dell'API AutoML, questa richiesta restituisce l'ID di un'operazione a lunga esecuzione.
Al termine dell'operazione a lunga esecuzione, puoi importare le immagini al suo interno. Il set di dati appena creato non contiene dati finché non importi immagini al suo interno.
Salva l'ID del set di dati del nuovo set di dati (dalla risposta) per utilizzarlo con altre operazioni, come l'importazione di immagini nel set di dati e l'addestramento di un modello.
UI web
Apri la dashboard di Vision.
Puoi accedere a questa pagina anche dalla console tramite la voce del menu di navigazione a sinistra Intelligenza artificiale > Visione. Si aprirà la dashboard di Vision integrata. Seleziona la scheda AutoML Vision.
Seleziona Set di dati nel menu di navigazione a sinistra.
Seleziona il pulsante Nuovo set di dati in alto, aggiorna il nome del set di dati (facoltativo) e seleziona
classificazione con etichetta singola o classificazione con più etichette in base ai dati di cui disponi.Dopo aver specificato il tipo di classificazione, seleziona Crea set di dati.
Nella pagina Crea set di dati puoi scegliere un file CSV da Google Cloud Storage o file immagine locali da importare nel set di dati.
Seleziona Continua per iniziare l'importazione di immagini nel set di dati. Durante l'importazione, il set di dati mostrerà lo stato Running: Import images (In esecuzione: importazione delle immagini).
Riceverai un'email al termine dell'importazione.
REST
L'esempio seguente crea un set di dati che supporta un'etichetta per elemento (vedi MULTICLASS).
Il set di dati appena creato non contiene dati finché non importi elementi al suo interno.
Salva il valore "name"
del nuovo set di dati (dalla risposta) per utilizzarlo con altre operazioni, come l'importazione di elementi nel set di dati e l'addestramento di un modello.
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.
Metodo HTTP e URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets
Corpo JSON richiesta:
{ "displayName": "DISPLAY_NAME", "imageClassificationDatasetMetadata": { "classificationType": "MULTICLASS" } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciare
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/datasets"
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/datasets" | Select-Object -Expand Content
Dovresti vedere un output simile al seguente. Puoi utilizzare l'ID operazione (ICN3819960680614725486
, in questo caso) per conoscere lo stato dell'attività. Per un esempio, vedi Operazioni con operazioni a lunga esecuzione:
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/ICN3819960680614725486", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-11-14T16:49:13.667526Z", "updateTime": "2019-11-14T16:49:13.667526Z", "createDatasetDetails": {} } }
Al termine dell'operazione a lunga esecuzione, puoi ottenere l'ID del set di dati con la stessa richiesta di stato operativo. La risposta dovrebbe essere simile alla seguente:
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/ICN3819960680614725486", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-11-14T16:49:13.667526Z", "updateTime": "2019-11-14T16:49:17.975314Z", "createDatasetDetails": {} }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.automl.v1.Dataset", "name": "projects/PROJECT_ID/locations/us-central1/datasets/ICN5496445433112696489" } }
Go
Prima di provare questo esempio, segui le istruzioni di configurazione per la lingua nella pagina Librerie client.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione per la lingua nella pagina Librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione per la lingua nella pagina Librerie client.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione per la lingua nella pagina Librerie client.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, quindi 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, quindi consulta la documentazione di riferimento di AutoML Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e consulta la documentazione di riferimento di AutoML Vision per Ruby.
Importazione di elementi in un set di dati
Dopo aver creato un set di dati, puoi importare gli URI e le etichette degli elementi da un file CSV archiviato in un bucket Google Cloud Storage. Per maggiori dettagli sulla preparazione dei dati e sulla creazione di un file CSV per l'importazione, consulta Preparazione dei dati di addestramento.
Puoi importare elementi in un set di dati vuoto o importare elementi aggiuntivi in un set di dati esistente.
UI web
L'interfaccia utente di AutoML Vision consente di creare un nuovo set di dati e di importare elementi al suo interno dalla stessa pagina; consulta la sezione Creazione di un set di dati. I passaggi riportati di seguito consentono di importare elementi in un set di dati esistente.
Apri Vision Dashboard e seleziona il set di dati dalla pagina Set di dati.
Nella pagina Immagini, fai clic su Aggiungi elementi nella barra del titolo e seleziona il metodo di importazione dall'elenco a discesa.
Puoi:
Carica un file .csv contenente le immagini di addestramento e le etichette delle categorie associate dal tuo computer locale o da Google Cloud Storage.
Carica file .txt o .zip contenenti le immagini di addestramento dal tuo computer locale.
Seleziona i file da importare.
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. Ad esempio:
- nome set di dati:
projects/project-id/locations/location-id/datasets/3104518874390609379
- ID set di dati:
3104518874390609379
- nome set di dati:
- input-storage-path: il percorso di un file CSV archiviato in Google Cloud Storage. L'utente richiedente deve disporre almeno dell'autorizzazione di lettura per il bucket.
Metodo HTTP e URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/datasets/DATASET_ID:importData
Corpo JSON richiesta:
{ "inputConfig": { "gcsSource": { "inputUris": [INPUT_STORAGE_PATH] } } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciare
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/datasets/DATASET_ID:importData"
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/datasets/DATASET_ID:importData" | Select-Object -Expand Content
Dovresti vedere un output simile al seguente. Puoi utilizzare l'ID operazione (ICN3819960680614725486
, in questo caso) per conoscere lo stato dell'attività. Per un esempio, vedi Operazioni con operazioni a lunga esecuzione.
{ "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-29T15:56:29.176485Z", "importDataDetails": {} } }
Go
Prima di provare questo esempio, segui le istruzioni di configurazione per la lingua nella pagina Librerie client.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione per la lingua nella pagina Librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione per la lingua nella pagina Librerie client.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione per la lingua nella pagina Librerie client.
Etichettatura degli elementi di addestramento
Per essere utile per l'addestramento di un modello, a ogni elemento di un set di dati deve essere assegnata almeno un'etichetta di categoria. AutoML Vision ignora gli elementi senza un'etichetta di categoria. Puoi fornire etichette per gli elementi di addestramento in tre modi:
- Includi le etichette nel file .csv.
- Per maggiori dettagli sull'etichettatura degli elementi nel file .csv, vedi Preparazione dei dati di addestramento.
- Etichetta i tuoi elementi nella UI di AutoML Vision
- Richiedi l'etichettatura a un servizio di etichettatura umano, ad esempio Google AI Platform Data Labeling Service.
Etichettatura nell'interfaccia utente
UI web
Per etichettare gli elementi nell'interfaccia utente di AutoML Vision, seleziona il set di dati dalla pagina di elenco Set di dati per visualizzarne i dettagli.
La barra laterale riassume il numero di elementi etichettati e non etichettati. Qui puoi filtrare l'elenco di elementi per etichetta o selezionare Aggiungi nuova etichetta per creare una nuova etichetta.
Da questa schermata puoi anche aggiungere o modificare l'etichetta di un'immagine.
Seleziona un'immagine per aggiungere o modificare la relativa etichetta.
Richiedi etichettatura
Puoi utilizzare il servizio AI Platform Data Labeling Service di Google per etichettare le immagini. Per ulteriori informazioni, consulta la documentazione del prodotto.
Utilizzo delle operazioni a lunga esecuzione
Puoi ottenere lo stato di un'operazione a lunga esecuzione utilizzando i seguenti esempi di codice.
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:
arricciare
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 il linguaggio in questione nella pagina API e riferimenti > Librerie client.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione per il linguaggio in questione nella pagina API e riferimenti > Librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione per il linguaggio in questione nella pagina API e riferimenti > Librerie client.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione per il linguaggio in questione nella pagina API e riferimenti > Librerie client.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, quindi 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, quindi consulta la documentazione di riferimento di AutoML Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e consulta la documentazione di riferimento di AutoML Vision per Ruby.