Setelah Anda membuat (melatih) model, Anda dapat membuat
permintaan
prediksi asinkron untuk suatu batch gambar menggunakan metode
batchPredict
. Metode batchPredict
menerapkan anotasi pada objek berbasis
gambar yang diidentifikasi oleh model Anda.
Masa pakai maksimum model kustom adalah 18 bulan. Setelah itu, Anda harus membuat dan melatih model baru untuk melanjutkan anotasi konten.
Prediksi batch
Anda dapat meminta anotasi (prediksi) untuk gambar menggunakan
perintah batchPredict
. Perintah batchPredict
mengambil file CSV yang disimpan di
lokasi Google Cloud Storage Anda sebagai input yang berisi jalur ke
gambar yang akan dianotasi. Setiap baris menentukan jalur terpisah ke suatu gambar yang ada di
Google Cloud Storage. Contoh:
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
Tugas prediksi batch ini dapat memakan waktu beberapa saat bergantung pada jumlah gambar yang Anda tentukan dalam file CSV. Bahkan prediksi batch gambar memerlukan waktu paling tidak 30 menit untuk menyelesaikan sejumlah kecil gambar.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: ID project GCP Anda.
- location-id: ID lokasi yang valid. Saat ini, Anda
harus menggunakan nilai berikut:
us-central1
- model-id: ID model Anda, dari
respons saat Anda membuat model. ID adalah elemen terakhir dari nama model Anda.
Misalnya:
- nama model:
projects/project-id/locations/location-id/models/IOD4412217016962778756
- id model:
IOD4412217016962778756
- nama model:
- input-storage-path: jalur ke file CSV yang disimpan di Google Cloud Storage. Pengguna yang membuat permntaan harus memiliki paling tidak izin baca ke bucket.
- output-storage-bucket: bucket/direktori
Google Cloud Storage tempat file output disimpan, yang dinyatakan dalam bentuk berikut:
gs://bucket/directory/
. Pengguna yang membuat permintaan harus memiliki izin tulis ke bucket.
Pertimbangan khusus kolom:
params.score_threshold
- Nilai antara 0,0 hingga 1,0. Hanya hasil dengan skor lebih besar atau sama dengan nilai ini yang akan ditampilkan.
Metode HTTP dan URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/models/MODEL_ID:batchPredict
Isi JSON permintaan:
{ "inputConfig": { "gcsSource": { "inputUris": [ "INPUT_STORAGE_PATH" ] } }, "outputConfig": { "gcsDestination": { "outputUriPrefix": "OUTPUT_STORAGE_BUCKET" } }, "params": { "score_threshold": "0.0" } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
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
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$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
Anda akan melihat output yang mirip dengan berikut ini:
{ "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" ] } } } } }
Anda dapat menggunakan ID operasi
(dalam hal ini, IOD926615623331479552
) untuk mendapatkan status tugas. Sebagai
contoh, lihat Bekerja dengan operasi yang berjalan lama.
Setelah operasi selesai, state
akan ditampilkan sebagai DONE
dan hasilnya
akan ditulis ke file Google Cloud Storage yang Anda tentukan:
{ "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" } }
Lihat bagian File output JSONL di bawah ini untuk file output contoh.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman Library Klien.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman Library Klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman Library Klien.
Bahasa tambahan
C# : Ikuti Petunjuk penyiapan C# di halaman library klien, lalu kunjungi Dokumentasi referensi Deteksi Objek Vision AutoML untuk .NET.
PHP : Ikuti petunjuk penyiapan PHP di halaman library klien, lalu kunjungi dokumentasi referensi Deteksi Objek AutoML Vision untuk PHP.
Ruby : Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu kunjungi Dokumentasi referensi Deteksi Objek AutoML Vision untuk Ruby.
Output file JSONL
Ketika tugas prediksi batch selesai, output dari prediksi disimpan di lokasi Google Cloud Storage yang Anda tentukan dalam perintah Anda.
Di lokasi penyimpanan output Anda (beserta awalan objek pilihan Anda)
file image_object_detection_1.jsonl
, image_object_detection_2.jsonl
,...,
image_object_detection_N.jsonl
akan
dibuat, dengan nilai N mungkin 1, dan bergantung pada jumlah total gambar dan
anotasi yang berhasil diprediksi.
Satu gambar hanya akan dicantumkan sekali beserta semua anotasinya, dan anotasinya tidak akan pernah dibagi ke seluruh file.
Setiap file JSONL akan berisi,
dalam setiap baris, representasi JSON proto yang menggabunngkan "ID" gambar :
"<id_value>" yang diikuti dengan daftar nol atau beberapa proto AnnotationPayload
(yang disebut anotasi), dengann detail imageObjectDetection
yang terisi.
Contoh file JSONL (file .jsonl tunggal dengan 2 baris/anotasi file):
image_object_detection_0.jsonl
Bekerja dengan operasi yang berjalan lama
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: project ID GCP Anda.
- operation-id: ID operasi Anda. ID tersebut adalah elemen terakhir dari nama
operasi Anda. Contoh:
- nama operasi:
projects/project-id/locations/location-id/operations/IOD5281059901324392598
- ID Operasi:
IOD5281059901324392598
- nama operasi:
Metode HTTP dan URL:
GET https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
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
Jalankan perintah berikut:
$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" } }
Anda akan melihat output yang serupa dengan berikut ini dari operasi pembuatan model yang telah selesai:
{ "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
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman Library Klien.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman Library Klien.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman Library Klien.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan untuk bahasa ini di halaman Library Klien.
Bahasa tambahan
C# : Ikuti Petunjuk penyiapan C# di halaman library klien, lalu kunjungi Dokumentasi referensi Deteksi Objek Vision AutoML untuk .NET.
PHP : Ikuti petunjuk penyiapan PHP di halaman library klien, lalu kunjungi dokumentasi referensi Deteksi Objek AutoML Vision untuk PHP.
Ruby: Ikuti Petunjuk penyiapan Ruby di halaman client libraries lalu kunjungi Dokumentasi referensi Deteksi Objek AutoML Vision untuk Ruby.