Untuk melatih model pelabelan gambar, Anda perlu menyediakan serangkaian gambar dan label yang sesuai di AutoML Vision Edge. 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 ini diatur dalam Perjanjian Lisensi Google Cloud Platform dan Persyaratan Khusus Layanan, serta dikenai biaya yang sesuai. Untuk mengetahui informasi penagihan, lihat halaman Harga AutoML.
Sebelum memulai
Jika Anda belum memiliki project Firebase atau Google Cloud, buat project di Firebase console.
Pahami panduan yang disajikan dalam Panduan ML inklusif - AutoML.
Jika Anda hanya ingin mencoba AutoML Vision Edge, tetapi tidak memiliki data pelatihan sendiri, download set data contoh seperti yang berikut ini:
Anda dapat menemukan lebih banyak set data yang dihosting di Kaggle.
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, atau sebaiknya 100 contoh atau lebih, dari setiap label.
Sertakan berbagai 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 dengan 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.
Setelah Anda menyiapkan gambar pelatihan, siapkan gambar untuk diimpor ke Firebase. Anda memiliki tiga opsi:
Opsi 1: Arsip zip terstruktur
Atur gambar pelatihan Anda ke dalam beberapa direktori, yang 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, serta 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 maupun dalam file zip yang tidak terstruktur. Lihat langkah berikutnya.
2. Melatih model Anda
Selanjutnya, latih model menggunakan gambar Anda:
Buka halaman Vision Datasets di Google Cloud console. Pilih project Anda saat diminta.
Klik New dataset, beri nama untuk set data, pilih jenis model yang ingin Anda latih, lalu klik Create dataset.
Pada tab Import set data, upload arsip zip gambar pelatihan atau file CSV yang berisi lokasi Cloud Storage tempat Anda menguploadnya. Lihat Mengumpulkan data pelatihan Anda.
Setelah tugas impor selesai, gunakan tab Images untuk memverifikasi data pelatihan dan memberi label pada gambar yang tidak berlabel.
Pada tab Train, klik Start training untuk memulai pelatihan.
Beri nama model, lalu pilih jenis model Edge.
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 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. Mengevaluasi model Anda
Setelah pelatihan selesai, Anda dapat mengklik tab Evaluate 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 Confidence threshold, 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).
Keputusan apakah pengoptimalan dilakukan untuk presisi atau untuk perolehan bergantung pada kasus penggunaan Anda. Lihat Panduan pemula AutoML Vision dan Panduan ML inklusif - AutoML untuk mengetahui informasi selengkapnya.
Jika Anda 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 Test & use 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. Anda juga dapat menggunakan Remote Config dan A/B Testing 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. 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 Test & use set data di Google Cloud console, lalu upload model di halaman Custom model 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:
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 Test & use set data.
Langkah berikutnya
Setelah Anda memublikasikan atau mendownload model, pelajari cara menggunakan model di aplikasi iOS+ dan Android.