Sebelum Anda memulai evaluasi berkelanjutan

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.

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Data Labeling Service and BigQuery APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Data Labeling Service and BigQuery APIs.

    Enable the APIs

Langkah selanjutnya

Baca panduan membuat tugas evaluasi untuk mulai menggunakan evaluasi berkelanjutan.