Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Melatih model pelabelan gambar dengan AutoML Vision Edge

Untuk melatih model pelabelan gambar, Anda perlu memberi AutoML Vision Edge serangkaian gambar dan label yang sesuai. AutoML Vision Edge menggunakan set data ini untuk melatih model baru di cloud, yang dapat Anda gunakan untuk pemberian label gambar di perangkat pada aplikasi. (Lihat Ringkasan untuk mengetahui informasi umum tentang fitur ini.)

AutoML Vision Edge adalah layanan Google Cloud. Penggunaan layanan diatur dalam Perjanjian Lisensi Google Cloud Platform dan Persyaratan Khusus Layanan, serta dikenakan biaya yang sesuai. Untuk mengetahui informasi penagihan, lihat halaman Harga AutoML.

Sebelum memulai

1. Mengumpulkan data pelatihan Anda

Pertama-tama, Anda perlu mengumpulkan set data pelatihan gambar berlabel. Ingat pedoman berikut:

  • Gambar harus berupa salah satu format berikut: JPEG, PNG, GIF, BMP, atau ICO.

  • Setiap gambar harus berukuran 30 MB atau lebih kecil. Perlu diketahui bahwa AutoML Vision Edge menurunkan kualitas sebagian besar gambar selama pemrosesan awal, sehingga secara umum tidak akan ada peningkatan akurasi dengan memberikan gambar yang beresolusi sangat tinggi.

  • Sertakan minimal 10 contoh, dan lebih baik lagi 100 contoh atau lebih, dari setiap label.

  • Sertakan beberapa sudut, resolusi, dan latar belakang untuk setiap label.

  • Data pelatihan harus semirip mungkin dengan data yang menjadi dasar prediksi. Misalnya, jika dalam kasus penggunaan Anda terdapat gambar buram dan resolusi rendah (seperti gambar dari kamera keamanan), data pelatihan Anda harus terdiri dari gambar buram dengan resolusi rendah.

  • Berbagai model yang dihasilkan oleh AutoML Vision Edge dioptimalkan untuk beragam foto objek di dunia nyata. Model yang dihasilkan mungkin tidak bekerja dengan baik untuk foto sinar-X, gambar buatan tangan, dokumen hasil pindaian, tanda terima, dan sebagainya.

    Selain itu, model umumnya tidak dapat memprediksi label yang tidak dapat ditetapkan oleh manusia. Jadi, jika manusia tidak dapat menetapkan label dengan melihat gambar selama 1-2 detik, model tersebut kemungkinan tidak dapat dilatih untuk melakukan hal yang sama.

Saat Anda sudah menyiapkan gambar pelatihan, siapkan gambar untuk diimpor ke Firebase. Anda memiliki tiga opsi:

Opsi 1: Arsip zip terstruktur

Atur gambar pelatihan Anda menjadi beberapa direktori, masing-masing diberi nama berdasarkan label dan berisi gambar yang merupakan contoh dari label tersebut. Kemudian, kompresi struktur direktori menjadi arsip zip.

Nama direktori dalam arsip zip ini dapat berisi hingga 32 karakter ASCII dan hanya dapat berisi karakter alfanumerik dan karakter garis bawah (_).

Contoh:

my_training_data.zip
  |____accordion
  | |____001.jpg
  | |____002.jpg
  | |____003.jpg
  |____bass_guitar
  | |____hofner.gif
  | |____p-bass.png
  |____clavier
    |____well-tempered.jpg
    |____well-tempered (1).jpg
    |____well-tempered (2).jpg

Opsi 2: Cloud Storage dengan indeks CSV

Upload gambar pelatihan Anda ke Google Cloud Storage dan siapkan file CSV yang mencantumkan URL setiap gambar, dan secara opsional, label yang benar untuk setiap gambar. Opsi ini bermanfaat saat menggunakan set data yang sangat besar.

Misalnya, upload gambar Anda ke Cloud Storage dan siapkan file CSV seperti berikut:

gs://your-training-data-bucket/001.jpg,accordion
gs://your-training-data-bucket/002.jpg,accordion
gs://your-training-data-bucket/003.jpg,accordion
gs://your-training-data-bucket/hofner.gif,bass_guitar
gs://your-training-data-bucket/p-bass.png,bass_guitar
gs://your-training-data-bucket/well-tempered.jpg,clavier
gs://your-training-data-bucket/well-tempered%20(1).jpg,clavier
gs://your-training-data-bucket/well-tempered%20(2).jpg,clavier

Gambar harus disimpan di bucket yang merupakan bagian dari project Google Cloud terkait project Firebase Anda.

Lihat bagian Mempersiapkan data pelatihan Anda dalam dokumentasi Cloud AutoML Vision untuk mengetahui informasi lebih lanjut cara menyiapkan file CSV.

Opsi 3: Gambar tak berlabel

Beri label gambar pelatihan Anda di Firebase console setelah Anda menguploadnya, baik secara terpisah atau dalam file zip yang tidak terstruktur. Lihat langkah berikutnya.

2. Melatih model Anda

Selanjutnya, latih model menggunakan gambar Anda:

  1. Buka halaman Set Data Vision di Google Cloud Console. Pilih project Anda saat diminta.

  2. Klik Set data baru, beri nama untuk set data, pilih jenis model yang ingin Anda latih, lalu klik Buat set data.

  3. Pada tab Impor set data, upload arsip zip gambar pelatihan atau file CSV yang berisi lokasi Cloud Storage tempat Anda menguploadnya. Lihat Mengumpulkan data pelatihan Anda.

  4. Setelah tugas impor selesai, gunakan tab Gambar untuk memverifikasi data pelatihan dan memberi label pada gambar yang tidak berlabel.

  5. Pada tab Latih, klik Mulai pelatihan.

    1. Beri nama model, lalu pilih jenis model Edge.

    2. Konfigurasikan setelan pelatihan berikut, yang mengatur performa model yang dihasilkan:

      Optimalkan model untuk... Konfigurasi model yang akan digunakan. Anda dapat melatih model yang lebih cepat dan lebih kecil jika mementingkan latensi rendah atau ukuran paket yang kecil, atau melatih model yang lebih lambat dan lebih besar jika mementingkan keakuratan.
      Anggaran jam kerja node

      Waktu maksimum, dalam jam komputasi, yang akan digunakan untuk melatih model Anda. Waktu pelatihan yang lebih lama umumnya menghasilkan model yang lebih akurat.

      Perlu diketahui bahwa pelatihan dapat diselesaikan dalam waktu kurang dari yang ditentukan, jika sistem menentukan bahwa model telah dioptimalkan dan pelatihan tambahan tidak akan meningkatkan akurasi. Anda hanya akan ditagih untuk jam yang benar-benar digunakan.

      Waktu pelatihan standar
      Set sangat kecil1 jam
      500 gambar2 jam
      1.000 gambar3 jam
      5.000 gambar6 jam
      10.000 gambar7 jam
      50.000 gambar11 jam
      100.000 gambar13 jam
      1.000.000 gambar18 jam

3. Mengevaluasi model Anda

Saat pelatihan selesai, Anda dapat mengklik tab Evaluasi guna melihat metrik performa untuk model tersebut.

Salah satu penggunaan penting halaman ini adalah untuk menentukan nilai minimum keyakinan yang paling sesuai untuk model Anda. Nilai minimum keyakinan adalah keyakinan minimum yang harus dimiliki model untuk menetapkan label ke gambar. Dengan menggerakkan penggeser Nilai minimum keyakinan, Anda dapat melihat pengaruh nilai minimum yang berbeda terhadap performa model. Performa model diukur menggunakan dua metrik: presisi dan perolehan.

Dalam konteks klasifikasi gambar, presisi adalah rasio jumlah gambar yang diberi label dengan benar dibanding jumlah gambar yang diberi label oleh model berdasarkan nilai minimum yang dipilih, Ketika suatu model memiliki presisi tinggi, model tersebut jarang menetapkan label yang salah (positif palsu lebih sedikit)

Perolehan adalah rasio jumlah gambar yang diberi label dengan benar dibanding jumlah gambar yang memiliki konten yang seharusnya dapat diberi label oleh model tersebut. Ketika suatu model memiliki perolehan yang tinggi, model tersebut jarang gagal untuk menetapkan label apa pun (negatif palsu lebih sedikit).

Pilihan apakah akan mengoptimalkan untuk presisi atau untuk perolehan akan bergantung pada kasus penggunaan Anda. Lihat panduan pemula AutoML Vision dan Panduan ML inklusif - AutoML untuk mengetahui informasi selengkapnya.

Jika menemukan nilai minimum keyakinan yang menghasilkan metrik yang sesuai dengan keinginan Anda, catat nilai tersebut. Anda akan menggunakannya untuk mengonfigurasi model di aplikasi. (Anda dapat menggunakan alat ini kapan saja untuk mendapatkan nilai minimum yang sesuai.)

4. Memublikasikan atau mendownload model Anda

Jika merasa puas dengan performa model dan ingin menggunakannya dalam aplikasi, Anda memiliki tiga opsi dan dapat memilih kombinasi apa pun: men-deploy model untuk prediksi online, memublikasikan model ke Firebase, atau mendownload model dan memaketkannya dengan aplikasi Anda.

Men-deploy model

Pada tab Uji & gunakan set data, Anda dapat men-deploy model untuk prediksi online, yang menjalankan model Anda di cloud. Opsi ini dibahas dalam dokumentasi Cloud AutoML. Dokumentasi di situs ini membahas dua opsi lainnya.

Memublikasikan model

Dengan memublikasikan model ke Firebase, Anda dapat mengupdate model tanpa merilis versi baru aplikasi, dan Anda dapat menggunakan Remote Config dan Pengujian A/B untuk secara dinamis menyajikan model yang berbeda untuk berbagai pengguna.

Jika Anda memilih untuk hanya menyediakan model dengan menghostingnya di Firebase, dan tidak memaketkannya dengan aplikasi, Anda dapat mengurangi ukuran download awal aplikasi Anda. Namun, perlu diingat jika model tidak dipaketkan dengan aplikasi Anda, fungsi yang terkait dengan model tidak akan tersedia hingga aplikasi Anda mendownload model untuk pertama kalinya.

Untuk memublikasikan model, Anda dapat menggunakan salah satu dari dua metode berikut:

  • Download model TF Lite dari halaman Pengujian & penggunaan set data di Google Cloud Console, lalu upload model tersebut di halaman Model kustom di Firebase console. Opsi ini biasanya adalah cara termudah untuk memublikasikan satu model.
  • Publikasikan model secara langsung dari project Google Cloud ke Firebase menggunakan Admin SDK. Anda dapat menggunakan metode ini untuk memublikasikan beberapa model sekaligus atau untuk membantu membuat pipeline publikasi otomatis.

Untuk memublikasikan model dengan API pengelolaan model Admin SDK:

  1. Instal dan lakukan inisialisasi SDK.

  2. Publikasikan model.

    Anda harus menentukan ID resource model, yang merupakan string yang terlihat seperti contoh berikut:

    projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_ID
    PROJECT_NUMBER Nomor project bucket Cloud Storage yang berisi model. Ini dapat berupa project Firebase Anda atau project Google Cloud lainnya. Anda dapat menemukan nilai ini di halaman Setelan Firebase console atau dasbor Google Cloud Console.
    MODEL_ID ID model, yang Anda dapatkan dari AutoML Cloud API.

    Python

    # First, import and initialize the SDK.
    
    # Get a reference to the AutoML model
    source = ml.TFLiteAutoMlSource('projects/{}/locations/us-central1/models/{}'.format(
        # See above for information on these values.
        project_number,
        model_id
    ))
    
    # Create the model object
    tflite_format = ml.TFLiteFormat(model_source=source)
    model = ml.Model(
        display_name="example_model",  # This is the name you will use from your app to load the model.
        tags=["examples"],             # Optional tags for easier management.
        model_format=tflite_format)
    
    # Add the model to your Firebase project and publish it
    new_model = ml.create_model(model)
    new_model.wait_for_unlocked()
    ml.publish_model(new_model.model_id)
    

    Node.js

    // First, import and initialize the SDK.
    
    (async () => {
      // Get a reference to the AutoML model. See above for information on these
      // values.
      const automlModel = `projects/${projectNumber}/locations/us-central1/models/${modelId}`;
    
      // Create the model object and add the model to your Firebase project.
      const model = await ml.createModel({
        displayName: 'example_model',  // This is the name you use from your app to load the model.
        tags: ['examples'],  // Optional tags for easier management.
        tfliteModel: { automlModel: automlModel },
      });
    
      // Wait for the model to be ready.
      await model.waitForUnlocked();
    
      // Publish the model.
      await ml.publishModel(model.modelId);
    
      process.exit();
    })().catch(console.error);
    

Mendownload & memaketkan model dengan aplikasi Anda

Dengan memaketkan model dengan aplikasi, Anda dapat memastikan bahwa fitur ML pada aplikasi Anda masih berfungsi jika model yang dihosting Firebase tidak tersedia.

Jika Anda memublikasikan model dan memaketkannya dengan aplikasi Anda, aplikasi akan menggunakan versi terbaru yang tersedia.

Untuk mendownload model Anda, klik TF Lite di halaman Pengujian & penggunaan set data.

Langkah berikutnya

Setelah Anda memublikasikan atau mendownload model, pelajari cara menggunakan model di aplikasi iOS dan Android.