Sebelum memulai evaluasi berkelanjutan

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.

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  4. Aktifkan API Data Labeling Service and BigQuery.

    Mengaktifkan API

  5. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  6. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  7. Aktifkan API Data Labeling Service and BigQuery.

    Mengaktifkan API

Langkah selanjutnya

Baca panduan untuk membuat tugas evaluasi untuk mulai menggunakan evaluasi berkelanjutan.