Sebelum dapat menggunakan evaluasi berkelanjutan, Anda harus melakukan dua hal:
- Melatih dan men-deploy versi model ke AI Platform Prediction untuk evaluasi
- Mengaktifkan Google Cloud API yang diperlukan untuk evaluasi berkelanjutan
Men-deploy versi model ke AI Platform Prediction
Layanan Pelabelan Data AI Platform hanya dapat melakukan evaluasi berkelanjutan pada model machine learning yang telah Anda deploy ke AI Platform Prediction. Saat membuat tugas evaluasi, Anda akan melampirkan tugas tersebut ke versi model AI Platform Prediction. Setiap versi model hanya dapat memiliki satu tugas evaluasi yang terlampir.
Untuk pengantar pelatihan model machine learning dan men-deploynya sebagai versi model ke AI Platform Prediction, pelajari panduan memulai pelatihan dan prediksi dengan Keras.
Persyaratan versi model
Evaluasi berkelanjutan mendukung beberapa jenis model machine learning:
Jenis model | |
---|---|
Klasifikasi gambar | Model yang mengambil gambar sebagai input dan menampilkan satu atau beberapa label sebagai output. Gambar input dapat diberikan sebagai gambar berenkode base64 atau jalur ke file Cloud Storage. |
Klasifikasi teks | Model yang mengambil teks sebagai input dan menampilkan satu atau beberapa label sebagai output. |
Klasifikasi umum | Model yang menggunakan array atau string arbitrer sebagai input dan menampilkan
satu atau beberapa label sebagai output. Layanan Pelabelan Data tidak dapat menetapkan peninjau manual untuk memberikan label kebenaran dasar untuk klasifikasi umum. Jika menyiapkan evaluasi berkelanjutan untuk model klasifikasi umum, Anda harus memberi tag pada label kebenaran nyata sendiri. |
Deteksi objek gambar | Model yang mengambil gambar sebagai input dan menampilkan satu atau beberapa kotak pembatas berlabel sebagai output. Kotak pembatas ini memprediksi lokasi objek dalam gambar. |
Bergantung pada tugas yang dilakukan model machine learning, Anda harus melatihnya sehingga versi model yang di-deploy menerima input prediksi online dan menghasilkan output prediksi online dalam format tertentu yang didukung oleh evaluasi berkelanjutan.
Perhatikan bahwa spesifikasi di bagian berikutnya memperluas persyaratan isi JSON permintaan dan respons prediksi online ke AI Platform Prediction. Evaluasi berkelanjutan saat ini hanya mengambil sampel prediksi online; tidak mengambil sampel prediksi batch. Pelajari perbedaan antara prediksi online dan batch.
Kolom yang ditandai dalam contoh menunjukkan kolom yang diperlukan untuk evaluasi berkelanjutan. Anda dapat menyertakan kolom tambahan dalam input dan output prediksi, tetapi Layanan Pemberian Label Data mengabaikannya saat menetapkan input Anda kepada petugas peninjau untuk pemberian label kebenaran dasar dan saat menghitung metrik evaluasi.
Kunci kolom yang ditandai (yourDataKey,
yourLabelKey, yourScoreKey, dan
yourBoundingBoxKey) dapat diganti dengan string apa pun yang Anda pilih,
asalkan string tersebut tidak berisi karakter /
. Anda harus menentukan
string ini saat membuat
tugas evaluasi.
Bagian berikut menjelaskan persyaratan model untuk setiap jenis model:
Klasifikasi gambar
Format input
Model Anda harus menerima permintaan prediksi online dalam format berikut:
{
"instances": [
{
"yourDataKey": <image input (string)>,
<optional additional key>: <any JSON data type>,
...
},
...
]
}
<image input (string)>
dapat berupa salah satu dari hal berikut:
- Gambar berenkode base64.
- URI gambar yang disimpan di Cloud Storage. Untuk memastikan Layanan Pelabelan Data memiliki izin untuk membaca gambar, bucket Cloud Storage harus berada dalam project Google Cloud yang sama dengan tempat Anda membuat tugas evaluasi.
Contoh berenkode base64
Contoh berikut menunjukkan isi permintaan prediksi online dengan gambar yang dienkode base64:
{
"instances": [
{
"image_bytes": {
"b64": "iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAhUlEQVR4AWOAgZeONnHvHcXiGJDBqyDTXa+dVC888oy51F9+eRdY8NdWwYz/RyT//znEsAjEt277+syt5VMJw989DM/+H2MI/L8tVBQk4d38xcWp7ctLhi97ZCZ0rXV6yLA4b6dH59sjTq3fnji1fp4AsWS5j7PXstRg+/b3gU7N351AQgA8+jkf43sjaQAAAABJRU5ErkJggg=="
}
}
]
}
Perhatikan bahwa data input disusun bertingkat di kolom image_bytes
dalam contoh ini.
Jika model Anda menerima input prediksi seperti ini, pastikan untuk menentukan
struktur bertingkat ini saat membuat tugas evaluasi.
Contoh referensi Cloud Storage
Contoh berikut menunjukkan isi permintaan prediksi online dengan referensi ke gambar di Cloud Storage:
{
"instances": [
{
"image_path": "gs://cloud-samples-data/datalabeling/image/flower_1.jpeg"
}
]
}
Format output
Model Anda harus menampilkan prediksi online dalam format berikut:
{
"predictions": [
{
"YOUR_LABEL_KEY": [
<label (string)>,
<additional label (string)>,
...
],
"YOUR_SCORE_KEY": [
<score (number)>,
<additional score (number)>,
...
],
<optional additional key>: <any JSON data type>,
...
},
...
]
}
Array label dan array skor harus memiliki panjang yang sama. Jika model Anda melakukan klasifikasi label tunggal, harus ada satu label dan satu skor. Jika model Anda melakukan klasifikasi multilabel, setiap label dalam array label harus sesuai dengan skor pada indeks yang sama dalam array skor.
Skor wajib diisi. Nilai ini mewakili keyakinan atau probabilitas yang ditetapkan model machine learning Anda untuk prediksinya. Biasanya, model memilih label dengan membandingkan skor yang dihitung untuk input tertentu dengan nilai minimum klasifikasi.
Contoh output klasifikasi
Contoh berikut menunjukkan isi respons prediksi online untuk klasifikasi:
{
"predictions": [
{
"sentiments": [
"happy"
],
"confidence": [
"0.8"
]
}
]
}
Klasifikasi teks
Format input
Model Anda harus menerima permintaan prediksi online dalam format berikut:
{
"instances": [
{
"yourDataKey": <text input (string)>,
<optional additional key>: <any JSON data type>,
...
},
...
]
}
Contoh input teks
Contoh berikut menunjukkan isi permintaan prediksi online dengan data teks:
{
"instances": [
{
"text": "If music be the food of love, play on;"
}
]
}
Format output
Model Anda harus menampilkan prediksi online dalam format berikut:
{
"predictions": [
{
"YOUR_LABEL_KEY": [
<label (string)>,
<additional label (string)>,
...
],
"YOUR_SCORE_KEY": [
<score (number)>,
<additional score (number)>,
...
],
<optional additional key>: <any JSON data type>,
...
},
...
]
}
Array label dan array skor harus memiliki panjang yang sama. Jika model Anda melakukan klasifikasi label tunggal, harus ada satu label dan satu skor. Jika model Anda melakukan klasifikasi multilabel, setiap label dalam array label harus sesuai dengan skor pada indeks yang sama dalam array skor.
Skor wajib diisi. Nilai ini mewakili keyakinan atau probabilitas yang ditetapkan model machine learning Anda untuk prediksinya. Biasanya, model memilih label dengan membandingkan skor yang dihitung untuk input tertentu dengan nilai minimum klasifikasi.
Contoh output klasifikasi
Contoh berikut menunjukkan isi respons prediksi online untuk klasifikasi:
{
"predictions": [
{
"sentiments": [
"happy"
],
"confidence": [
"0.8"
]
}
]
}
Klasifikasi umum
Format input
Model Anda harus menerima permintaan prediksi online dalam format berikut:
{
"instances": [
{
"yourDataKey": <input data (string or array)>,
<optional additional key>: <any JSON data type>,
...
},
...
]
}
Contoh input umum
Contoh berikut menunjukkan isi permintaan prediksi online dengan array data input yang berisi string dan angka:
{
"instances": [
{
"weather": [
"sunny",
72,
0.22
]
}
]
}
Format output
Model Anda harus menampilkan prediksi online dalam format berikut:
{
"predictions": [
{
"YOUR_LABEL_KEY": [
<label (string)>,
<additional label (string)>,
...
],
"YOUR_SCORE_KEY": [
<score (number)>,
<additional score (number)>,
...
],
<optional additional key>: <any JSON data type>,
...
},
...
]
}
Array label dan array skor harus memiliki panjang yang sama. Jika model Anda melakukan klasifikasi label tunggal, harus ada satu label dan satu skor. Jika model Anda melakukan klasifikasi multilabel, setiap label dalam array label harus sesuai dengan skor pada indeks yang sama dalam array skor.
Skor wajib diisi. Nilai ini mewakili keyakinan atau probabilitas yang ditetapkan model machine learning Anda untuk prediksinya. Biasanya, model memilih label dengan membandingkan skor yang dihitung untuk input tertentu dengan nilai minimum klasifikasi.
Contoh output klasifikasi
Contoh berikut menunjukkan isi respons prediksi online untuk klasifikasi:
{
"predictions": [
{
"sentiments": [
"happy"
],
"confidence": [
"0.8"
]
}
]
}
Deteksi objek gambar
Format input
Model Anda harus menerima permintaan prediksi online dalam format berikut:
{
"instances": [
{
"yourDataKey": <image input (string)>,
<optional additional key>: <any JSON data type>,
...
},
...
]
}
<image input (string)>
dapat berupa salah satu dari hal berikut:
- Gambar berenkode base64.
- URI gambar yang disimpan di Cloud Storage. Untuk memastikan Layanan Pelabelan Data memiliki izin untuk membaca gambar, bucket Cloud Storage harus berada dalam project Google Cloud yang sama dengan tempat Anda membuat tugas evaluasi.
Contoh berenkode base64
Contoh berikut menunjukkan isi permintaan prediksi online dengan gambar yang dienkode base64:
{
"instances": [
{
"image_bytes": {
"b64": "iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAhUlEQVR4AWOAgZeONnHvHcXiGJDBqyDTXa+dVC888oy51F9+eRdY8NdWwYz/RyT//znEsAjEt277+syt5VMJw989DM/+H2MI/L8tVBQk4d38xcWp7ctLhi97ZCZ0rXV6yLA4b6dH59sjTq3fnji1fp4AsWS5j7PXstRg+/b3gU7N351AQgA8+jkf43sjaQAAAABJRU5ErkJggg=="
}
}
]
}
Perhatikan bahwa data input disusun bertingkat di kolom image_bytes
dalam contoh ini.
Jika model Anda menerima input prediksi seperti ini, pastikan untuk menentukan
struktur bertingkat ini saat membuat tugas evaluasi.
Contoh referensi Cloud Storage
Contoh berikut menunjukkan isi permintaan prediksi online dengan referensi ke gambar di Cloud Storage:
{
"instances": [
{
"image_path": "gs://cloud-samples-data/datalabeling/image/flower_1.jpeg"
}
]
}
Format output
Model Anda harus menampilkan prediksi online dalam format berikut:
{
"predictions": [
{
"yourBoundingBoxKey": [
{
"top_left": {
"x": <left coordinate for first box>,
"y": <top coordinate for first box>
},
"bottom_right": {
"x": <right coordinate for first box>,
"y": <bottom coordinate for first box>
},
},
...
],
"YOUR_LABEL_KEY": [
<label for first box>,
...
],
"YOUR_SCORE_KEY": [
<score for first box,
...
],
<optional additional key>: <any JSON data type>,
...
},
...
]
}
Array kotak pembatas, array label, dan array skor harus
memiliki panjang yang sama. Setiap entri dalam array kotak pembatas harus diberi label
oleh label pada indeks yang sama dalam array label dan sesuai dengan skor pada
indeks yang sama dalam array skor. Misalnya,
yourBoundingBoxKey[0]
diberi label oleh
yourLabelKey[0]
dan memiliki skor
yourScoreKey[0]
.
Skor wajib diisi. Nilai ini mewakili keyakinan atau probabilitas yang ditetapkan model machine learning Anda untuk prediksinya. Biasanya, model memilih label dengan membandingkan skor yang dihitung untuk input tertentu dengan nilai minimum klasifikasi.
Format output alternatif
Jika Anda menggunakan string detection_boxes
untuk yourBoundingBoxKey, string
detection_classes
untuk yourLabelKey, dan string
detection_scores
untuk yourScoreKey, Anda dapat menggunakan format
berikut untuk output prediksi, bukan format standar:
{
"predictions": [
{
"detection_boxes": [
{
"x_min": <left coordinate for first box>,
"y_min": <top coordinate for first box>,
"x_max": <right coordinate for first box>,
"y_max": <bottom coordinate for first box>
},
...
],
"detection_classes": [
<label for first box>,
...
],
"detection_scores": [
<score for first box,
...
],
<optional additional key>: <any JSON data type>,
...
},
...
]
}
Contoh output deteksi objek
Contoh berikut menunjukkan isi respons prediksi online untuk deteksi objek:
{
"predictions": [
{
"bird_locations": [
{
"top_left": {
"x": 53,
"y": 22
},
"bottom_right": {
"x": 98,
"y": 150
}
}
],
"species": [
"rufous hummingbird"
],
"probability": [
0.77
]
}
]
}
Mengaktifkan API
Anda harus mengaktifkan beberapa Google Cloud API sebelum dapat menggunakan evaluasi berkelanjutan. Langkah-langkah berikut mengasumsikan bahwa Anda telah mengaktifkan Training API dan Prediction API AI Platform dalam project yang sama saat men-deploy versi model ke Prediction AI Platform.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Data Labeling Service and BigQuery APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Data Labeling Service and BigQuery APIs.
Langkah selanjutnya
Baca panduan membuat tugas evaluasi untuk mulai menggunakan evaluasi berkelanjutan.