Dopo aver creato (addestrato) un modello, puoi rendere
un modello asincrono
richiesta di previsione per un batch di immagini utilizzando
batchPredict
. Il metodo batchPredict
applica annotazioni alle tue immagini basate
sugli oggetti identificati dal modello.
La durata massima di un modello personalizzato è 18 mesi. Tu devono creare e addestrare un nuovo modello per continuare ad annotare contenuti dopo in quel momento.
Previsione batch
Puoi richiedere annotazioni (previsioni) per le immagini utilizzando il metodo
Comando batchPredict
. Il comando batchPredict
accetta, come input, un file CSV
archiviato nella posizione di Google Cloud Storage che contiene i percorsi
le immagini da annotare. Ogni riga specifica un percorso separato di un'immagine in Google.
di archiviazione ideale in Cloud Storage. Ad esempio:
batch_prediction.csv
:
gs://my-cloud-storage-bucket/prediction_files/image1.jpg gs://my-cloud-storage-bucket/prediction_files/image2.jpg gs://my-cloud-storage-bucket/prediction_files/image3.jpg gs://my-cloud-storage-bucket/prediction_files/image4.jpg gs://my-cloud-storage-bucket/prediction_files/image5.jpg gs://my-cloud-storage-bucket/prediction_files/image6.png
In base al numero di immagini specificato nel file CSV, di previsione batch può richiedere del tempo. Anche su un numero ridotto di la previsione batch di immagini richiederà almeno 30 minuti.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: l'ID del tuo progetto Google Cloud.
- location-id: un identificatore di località valido. Al momento
deve utilizzare il seguente valore:
us-central1
- model-id: l'ID del modello, dalla
quando hai creato il 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:
- input-storage-path: il percorso di un file CSV archiviato su Google Cloud Storage. L'utente che ha inviato la richiesta deve avere per il bucket.
- output-storage-bucket: uno Google Cloud Storage
bucket/directory in cui salvare i file di output, espressi nel seguente formato:
gs://bucket/directory/
. L'utente che ha inviato la richiesta deve disporre dell'autorizzazione di scrittura per di sincronizzare la directory di una VM con un bucket.
Considerazioni specifiche sul campo:
params.score_threshold
: un valore compreso tra 0,0 e 1,0. Solo i risultati con punteggi maggiore o uguale a questo valore.
Metodo HTTP e URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/models/MODEL_ID:batchPredict
Corpo JSON della richiesta:
{ "inputConfig": { "gcsSource": { "inputUris": [ "INPUT_STORAGE_PATH" ] } }, "outputConfig": { "gcsDestination": { "outputUriPrefix": "OUTPUT_STORAGE_BUCKET" } }, "params": { "score_threshold": "0.0" } }
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/LOCATION_ID/models/MODEL_ID:batchPredict"
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/LOCATION_ID/models/MODEL_ID:batchPredict" | Select-Object -Expand Content
Dovresti vedere un output simile al seguente:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/operations/IOD926615623331479552", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-06-19T21:28:35.302067Z", "updateTime": "2019-06-19T21:28:35.302067Z", "batchPredictDetails": { "inputConfig": { "gcsSource": { "inputUris": [ "INPUT_STORAGE_PATH" ] } } } } }
Puoi utilizzare l'ID operazione
(in questo caso IOD926615623331479552
) per recuperare lo stato dell'attività. Per un
Ad esempio, vedi Operazioni a lunga esecuzione.
Una volta completata l'operazione, state
viene visualizzato come DONE
e
i risultati vengono scritti nel file Google Cloud Storage specificato:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/operations/IOD926615623331479552", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-06-19T21:28:35.302067Z", "updateTime": "2019-06-19T21:57:18.310033Z", "batchPredictDetails": { "inputConfig": { "gcsSource": { "inputUris": [ "INPUT_STORAGE_PATH" ] } }, "outputInfo": { "gcsOutputDirectory": "gs://STORAGE_BUCKET_VCM/SUBDIRECTORY/prediction-8370559933346329705-YYYY-MM-DDThh:mm:ss.sssZ" } } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.automl.v1.BatchPredictResult" } }
Consulta la sezione File JSONL di output di seguito per un output di esempio .
Java
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella Librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella Librerie client.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella Librerie client.
Linguaggi aggiuntivi
C#: Segui le Istruzioni per la configurazione di C# Nella pagina delle librerie client e poi visita Documentazione di riferimento per il rilevamento di oggetti di AutoML Vision per .NET.
PHP Segui le Istruzioni per la configurazione dei file PHP Nella pagina delle librerie client e poi visita Documentazione di riferimento per il rilevamento di oggetti di AutoML Vision per PHP.
Rubino: Segui le Istruzioni per la configurazione di Ruby Nella pagina delle librerie client e poi visita Documentazione di riferimento per il rilevamento di oggetti di AutoML Vision per Ruby.
File JSONL di output
Quando l'attività di previsione batch è completata, l'output della previsione è archiviati nella località Google Cloud Storage che hai specificato .
Nella posizione di archiviazione di output (con il prefisso oggetto scelto)
file image_object_detection_1.jsonl
, image_object_detection_2.jsonl
,...,
Il giorno image_object_detection_N.jsonl
sarà
dove N può essere 1 e dipende dal numero totale di
le immagini e le annotazioni previste.
Una singola immagine viene elencata una sola volta con tutte le sue annotazioni e le relative le annotazioni non verranno mai suddivise tra i file.
Ogni file JSONL contiene,
per riga, una rappresentazione JSON di un protocollo che avvolge l'"ID" dell'immagine
"<id_value>" seguito da un elenco di zero o più AnnotationPayload
protos (chiamati annotazioni), per cui sono stati compilati i dettagli di imageObjectDetection
.
Esempio di file JSONL (un singolo file .jsonl con 2 righe/annotazioni di file):
image_object_detection_0.jsonl
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:
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 questa lingua nella Librerie client.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella Librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella Librerie client.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione per questa lingua nella Librerie client.
Linguaggi aggiuntivi
C#: Segui le Istruzioni per la configurazione di C# Nella pagina delle librerie client e poi visita Documentazione di riferimento per il rilevamento di oggetti di AutoML Vision per .NET.
PHP Segui le Istruzioni per la configurazione dei file PHP Nella pagina delle librerie client e poi visita Documentazione di riferimento per il rilevamento di oggetti di AutoML Vision per PHP.
Rubino: Segui le Istruzioni per la configurazione di Ruby Nella pagina delle librerie client e poi visita Documentazione di riferimento per il rilevamento di oggetti di AutoML Vision per Ruby.