Ikuti semua informasi yang diumumkan di Firebase Summit, dan pelajari bagaimana Firebase dapat membantu Anda mempercepat pengembangan aplikasi dan menjalankan aplikasi dengan percaya diri. Pelajari Lebih Lanjut

Latih model pelabelan gambar dengan AutoML Vision Edge

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Untuk melatih model pelabelan gambar, Anda memberikan AutoML Vision Edge kumpulan gambar dan label yang sesuai. AutoML Vision Edge menggunakan set data ini untuk melatih model baru di cloud, yang dapat Anda gunakan untuk pelabelan gambar pada perangkat di aplikasi Anda. (Lihat Ikhtisar untuk informasi umum tentang fitur ini.)

AutoML Vision Edge adalah layanan Google Cloud. Penggunaan layanan tunduk pada Perjanjian Lisensi Google Cloud Platform dan Persyaratan Khusus Layanan , dan ditagih sebagaimana mestinya. Untuk informasi penagihan, lihat halaman Harga AutoML.

Sebelum kamu memulai

1. Kumpulkan data pelatihan Anda

Pertama, Anda perlu menyusun kumpulan data pelatihan dari gambar berlabel. Perhatikan panduan berikut ini:

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

  • Setiap gambar harus berukuran 30 MB atau lebih kecil. Perhatikan bahwa AutoML Vision Edge menurunkan skala sebagian besar gambar selama prapemrosesan, sehingga secara umum tidak ada keuntungan akurasi untuk menyediakan gambar beresolusi sangat tinggi.

  • Sertakan setidaknya 10, dan sebaiknya 100 atau lebih, contoh dari setiap label.

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

  • Data pelatihan harus sedekat mungkin dengan data yang akan dibuat prediksi. Misalnya, jika kasus penggunaan Anda melibatkan gambar buram dan beresolusi rendah (seperti dari kamera keamanan), data pelatihan Anda harus terdiri dari gambar buram beresolusi rendah.

  • Model yang dihasilkan oleh AutoML Vision Edge dioptimalkan untuk foto objek di dunia nyata. Mereka mungkin tidak berfungsi dengan baik untuk sinar-X, gambar tangan, dokumen yang dipindai, kuitansi, dan sebagainya.

    Juga, model umumnya tidak dapat memprediksi label yang tidak dapat diberikan manusia. Jadi, jika manusia tidak dapat memberi label dengan melihat gambar selama 1-2 detik, model tersebut kemungkinan besar juga tidak dapat dilatih untuk melakukannya.

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

Opsi 1: Arsip zip terstruktur

Atur gambar pelatihan Anda ke dalam direktori, masing-masing dinamai menurut label dan berisi gambar yang merupakan contoh dari label tersebut. Kemudian, kompres 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 ( _ ).

Misalnya:

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

Unggah 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 berguna saat menggunakan kumpulan 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 dalam keranjang yang merupakan bagian dari proyek Google Cloud terkait proyek Firebase Anda.

Lihat Menyiapkan data pelatihan Anda di dokumentasi Cloud AutoML Vision untuk informasi selengkapnya tentang menyiapkan file CSV.

Opsi 3: Gambar tanpa label

Beri label pada gambar pelatihan Anda di Firebase console setelah Anda menguploadnya, baik satu per satu atau dalam file zip yang tidak terstruktur. Lihat langkah selanjutnya.

2. Latih model Anda

Selanjutnya, latih model menggunakan gambar Anda:

  1. Buka halaman Vision Datasets di Google Cloud Console. Pilih proyek Anda saat diminta.

  2. Klik Kumpulan data baru , beri nama untuk kumpulan data tersebut, pilih jenis model yang ingin Anda latih, dan klik Buat kumpulan data .

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

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

  5. Pada tab Latih , klik Mulai pelatihan .

    1. Beri nama model dan pilih jenis model Edge .

    2. Konfigurasikan pengaturan pelatihan berikut, yang mengatur kinerja model yang dihasilkan:

      Mengoptimalkan model untuk... Konfigurasi model yang akan digunakan. Anda dapat melatih model yang lebih cepat dan lebih kecil saat latensi rendah atau ukuran paket kecil penting, atau model yang lebih lambat dan lebih besar saat akurasi paling penting.
      Anggaran jam node

      Waktu maksimum, dalam jam komputasi, yang dihabiskan untuk melatih model. Lebih banyak waktu pelatihan umumnya menghasilkan model yang lebih akurat.

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

      Waktu pelatihan yang khas
      Set yang sangat kecil 1 jam
      500 gambar 2 jam
      1.000 gambar 3 jam
      5.000 gambar 6 jam
      10.000 gambar 7 jam
      50.000 gambar 11 jam
      100.000 gambar 13 jam
      1.000.000 gambar 18 jam

3. Evaluasi model Anda

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

Salah satu penggunaan penting halaman ini adalah untuk menentukan ambang keyakinan yang paling sesuai untuk model Anda. Ambang batas kepercayaan adalah kepercayaan minimum yang harus dimiliki model untuk menetapkan label ke gambar. Dengan menggerakkan penggeser ambang Keyakinan , Anda dapat melihat bagaimana perbedaan ambang memengaruhi kinerja model. Performa model diukur menggunakan dua metrik: presisi dan daya ingat .

Dalam konteks klasifikasi citra, presisi adalah rasio jumlah citra yang diberi label dengan benar terhadap jumlah citra model yang diberi label dengan ambang terpilih. Ketika sebuah model memiliki presisi tinggi, ia lebih jarang memberikan label yang salah (lebih sedikit false positive).

Recall adalah rasio jumlah gambar yang diberi label dengan benar terhadap jumlah gambar yang memiliki konten yang seharusnya dapat diberi label oleh model. Ketika sebuah model memiliki daya ingat yang tinggi, ia lebih jarang gagal menetapkan label apa pun (negatif palsu lebih sedikit).

Apakah Anda mengoptimalkan presisi atau daya ingat akan bergantung pada kasus penggunaan Anda. Lihat panduan pemula AutoML Vision dan panduan ML Inklusif - AutoML untuk informasi lebih lanjut.

Saat Anda menemukan ambang keyakinan yang menghasilkan metrik yang membuat Anda nyaman, catatlah; Anda akan menggunakan ambang batas keyakinan untuk mengonfigurasi model di aplikasi Anda. (Anda dapat menggunakan alat ini kapan saja untuk mendapatkan nilai ambang yang sesuai.)

4. Publikasikan atau unduh model Anda

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

Menyebarkan model

Di tab Uji & penggunaan set data, Anda dapat menerapkan model untuk prediksi online, yang menjalankan model Anda di cloud. Opsi ini tercakup dalam dokumen Cloud AutoML . Dokumen di situs ini menangani dua opsi yang tersisa.

Publikasikan modelnya

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

Jika Anda memilih untuk hanya menyediakan model dengan menghostingnya di Firebase, dan tidak memaketkannya dengan aplikasi Anda, Anda dapat mengurangi ukuran download awal aplikasi Anda. Namun, perlu diingat bahwa jika model tidak dipaketkan dengan aplikasi Anda, semua fungsi terkait model tidak akan tersedia sampai aplikasi Anda mengunduh model untuk pertama kali.

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

  • Download model TF Lite dari halaman Uji & penggunaan set data Anda di Google Cloud Console, lalu upload model tersebut di halaman model Kustom di Firebase console. Ini biasanya cara termudah untuk menerbitkan satu model.
  • Publikasikan model langsung dari project Google Cloud Anda ke Firebase menggunakan Admin SDK. Anda dapat menggunakan metode ini untuk memublikasikan beberapa model atau untuk membantu membuat saluran penerbitan otomatis.

Untuk memublikasikan model dengan API pengelolaan model Admin SDK :

  1. Instal dan inisialisasi SDK .

  2. Publikasikan modelnya.

    Anda harus menentukan pengidentifikasi sumber daya 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 mungkin proyek Firebase Anda atau proyek Google Cloud lainnya. Anda dapat menemukan nilai ini di laman Setelan Firebase console atau dasbor Google Cloud Console.
    MODEL_ID ID model, yang Anda dapatkan dari AutoML Cloud API.

    Piton

    # 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);
    

Download & bundel model dengan aplikasi Anda

Dengan memaketkan model Anda dengan aplikasi, Anda dapat memastikan bahwa fitur ML aplikasi Anda tetap berfungsi saat model yang dihosting oleh Firebase tidak tersedia.

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

Untuk mendownload model Anda, klik TF Lite di halaman Test & use dataset Anda.

Langkah selanjutnya

Sekarang setelah Anda memublikasikan atau mengunduh model, pelajari cara menggunakan model di aplikasi iOS+ dan Android .