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 menyediakan AutoML Vision Edge dengan satu set 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 sesuai dengan itu. Untuk informasi penagihan, lihat halaman Harga AutoML.

Sebelum kamu memulai

1. Kumpulkan data pelatihan Anda

Pertama, Anda perlu mengumpulkan dataset pelatihan dari gambar berlabel. Ingatlah pedoman berikut ini:

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

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

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

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

  • Data pelatihan harus sedekat mungkin dengan data prediksi yang akan dibuat. 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 bekerja dengan baik untuk sinar-X, gambar tangan, dokumen yang dipindai, kuitansi, 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 kemungkinan juga tidak dapat dilatih untuk melakukannya.

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

Opsi 1: Arsip zip terstruktur

Atur gambar pelatihan Anda ke dalam direktori, masing-masing diberi nama setelah 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 ( _ ).

Sebagai 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: Penyimpanan Cloud dengan indeks CSV

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

Misalnya, unggah 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 Mempersiapkan 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 mengunggahnya, baik satu per satu atau dalam file zip 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 New dataset , berikan nama untuk dataset, pilih tipe model yang ingin Anda latih, dan klik Create dataset .

  3. Pada tab Impor set data Anda, unggah arsip zip gambar pelatihan Anda atau file CSV yang berisi lokasi Cloud Storage tempat Anda mengunggahnya. Lihat Merakit data latihan 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 dan pilih tipe model Edge .

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

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

      Waktu maksimum, dalam jam komputasi, 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 ditagih hanya untuk jam yang benar-benar digunakan.

      Waktu pelatihan biasa
      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 kinerja untuk model tersebut.

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

Dalam konteks klasifikasi gambar, presisi adalah rasio jumlah gambar yang diberi label dengan benar dengan jumlah gambar yang diberi label model yang diberikan ambang batas yang dipilih. Ketika sebuah model memiliki presisi tinggi, model akan lebih jarang memberikan label yang salah (lebih sedikit positif palsu).

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

Apakah Anda mengoptimalkan presisi atau mengingat akan bergantung pada kasus penggunaan Anda. Lihat panduan pemula AutoML Vision dan panduan ML Inklusif - AutoML untuk informasi selengkapnya.

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

4. Publikasikan atau unduh model Anda

Jika Anda puas dengan kinerja 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 mengunduh model dan menggabungkannya dengan aplikasi Anda.

Sebarkan modelnya

Pada tab Uji & penggunaan set data, Anda dapat menerapkan model Anda 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 memperbarui 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 dengan Firebase, dan tidak memaketkannya dengan aplikasi Anda, Anda dapat mengurangi ukuran unduhan awal aplikasi Anda. Namun, perlu diingat bahwa jika model tidak dibundel dengan aplikasi Anda, fungsionalitas terkait model apa pun tidak akan tersedia hingga aplikasi Anda mengunduh model untuk pertama kalinya.

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

  • Download model TF Lite dari halaman Uji & penggunaan set data Anda di Google Cloud Console, lalu unggah model di halaman Model kustom di Firebase console. Ini biasanya cara termudah untuk menerbitkan satu model.
  • Publikasikan model langsung dari proyek Google Cloud Anda ke Firebase menggunakan Admin SDK. Anda dapat menggunakan metode ini untuk memublikasikan beberapa model secara batch atau untuk membantu membuat jalur penerbitan otomatis.

Untuk memublikasikan model dengan API pengelolaan model Admin SDK :

  1. Instal dan inisialisasi SDK .

  2. Publikasikan modelnya.

    Anda perlu menentukan pengenal sumber daya model, yang berupa string yang terlihat seperti contoh berikut:

    projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_ID
    PROJECT_NUMBER Nomor proyek bucket Cloud Storage yang berisi model. Ini mungkin proyek Firebase Anda atau proyek 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);
    

Unduh & bundel model dengan aplikasi Anda

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

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

Untuk mengunduh model Anda, klik TF Lite di halaman Uji & penggunaan set data Anda.

Langkah selanjutnya

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