Sebelum dapat menggunakan evaluasi berkelanjutan, Anda harus melakukan dua hal:
- Latih dan 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 Prediksi AI Platform. Saat membuat tugas evaluasi, Anda melampirkannya ke versi model Prediksi AI Platform. Setiap versi model hanya dapat memiliki satu tugas evaluasi terlampir.
Sebagai pengantar untuk melatih model machine learning dan men-deploy-nya sebagai versi model untuk AI Platform Prediction, pelajari panduan memulai untuk 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 disediakan 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 sendiri pada label kebenaran dasar. |
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 dijalankan oleh 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.
Perlu diperhatikan bahwa spesifikasi di bagian berikutnya memperluas persyaratan isi JSON untuk permintaan dan respons prediksi online ke AI Platform Prediction. Evaluasi berkelanjutan saat ini hanya mengambil sampel prediksi online; tetapi tidak mengambil sampel prediksi batch. Pelajari tentang 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 Data Labeling Service akan mengabaikannya saat menetapkan input Anda kepada petugas peninjau untuk pelabelan 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,
selama 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 di project Google Cloud yang sama tempat Anda membuat tugas evaluasi.
Contoh berenkode base64
Contoh berikut menunjukkan isi permintaan prediksi online dengan gambar berenkode base64:
{
"instances": [
{
"image_bytes": {
"b64": "iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAhUlEQVR4AWOAgZeONnHvHcXiGJDBqyDTXa+dVC888oy51F9+eRdY8NdWwYz/RyT//znEsAjEt277+syt5VMJw989DM/+H2MI/L8tVBQk4d38xcWp7ctLhi97ZCZ0rXV6yLA4b6dH59sjTq3fnji1fp4AsWS5j7PXstRg+/b3gU7N351AQgA8+jkf43sjaQAAAABJRU5ErkJggg=="
}
}
]
}
Perhatikan bahwa data input ditempatkan di kolom image_bytes
pada 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>,
...
},
...
]
}
Rangkaian label dan susunan 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 tersebut mewakili keyakinan atau probabilitas yang ditetapkan oleh model machine learning Anda untuk prediksinya. Biasanya, model akan memilih label dengan membandingkan skor yang dihitung untuk input tertentu dengan batas 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>,
...
},
...
]
}
Rangkaian label dan susunan 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 tersebut mewakili keyakinan atau probabilitas yang ditetapkan oleh model machine learning Anda untuk prediksinya. Biasanya, model akan memilih label dengan membandingkan skor yang dihitung untuk input tertentu dengan batas 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>,
...
},
...
]
}
Rangkaian label dan susunan 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 tersebut mewakili keyakinan atau probabilitas yang ditetapkan oleh model machine learning Anda untuk prediksinya. Biasanya, model akan memilih label dengan membandingkan skor yang dihitung untuk input tertentu dengan batas 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 di project Google Cloud yang sama tempat Anda membuat tugas evaluasi.
Contoh berenkode base64
Contoh berikut menunjukkan isi permintaan prediksi online dengan gambar berenkode base64:
{
"instances": [
{
"image_bytes": {
"b64": "iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAhUlEQVR4AWOAgZeONnHvHcXiGJDBqyDTXa+dVC888oy51F9+eRdY8NdWwYz/RyT//znEsAjEt277+syt5VMJw989DM/+H2MI/L8tVBQk4d38xcWp7ctLhi97ZCZ0rXV6yLA4b6dH59sjTq3fnji1fp4AsWS5j7PXstRg+/b3gU7N351AQgA8+jkf43sjaQAAAABJRU5ErkJggg=="
}
}
]
}
Perhatikan bahwa data input ditempatkan di kolom image_bytes
pada 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 dengan 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 tersebut mewakili keyakinan atau probabilitas yang ditetapkan oleh model machine learning Anda untuk prediksinya. Biasanya, model akan memilih label dengan membandingkan skor yang dihitung untuk input tertentu dengan batas 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 AI Platform Training and Prediction API dalam project yang sama saat men-deploy versi model ke AI Platform Prediction.
- 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.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktifkan API Data Labeling Service and BigQuery.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktifkan API Data Labeling Service and BigQuery.
Langkah selanjutnya
Baca panduan untuk membuat tugas evaluasi untuk mulai menggunakan evaluasi berkelanjutan.