Bagikan melalui


Klasifikasi Gambar dengan ML.NET dan Windows Pembelajaran Mesin

Image classification flow

Panduan ini akan menunjukkan kepada Anda cara melatih model jaringan neural untuk mengklasifikasikan gambar makanan menggunakan ML.NET Model Builder, mengekspor model ke format ONNX, dan menyebarkan model dalam aplikasi Windows Pembelajaran Mesin yang berjalan secara lokal di perangkat Windows. Tidak diperlukan keahlian sebelumnya dalam pembelajaran mesin, dan kami akan memandu Anda selangkah demi selangkah melalui prosesnya.

Jika Anda ingin mempelajari cara membangun dan melatih model dengan ML.NET Model Builder, Anda dapat melanjutkan ke Melatih Model.

Jika Anda memiliki model dan ingin mempelajari cara membuat aplikasi WinML dari awal, navigasikan ke tutorial aplikasi WinML lengkap.

Jika Anda ingin mendapatkan solusi yang telah ditentukan sebelumnya untuk aplikasi WinML, Anda dapat mengkloning file solusi dan mengujinya segera.

Skenario

Dalam tutorial ini, kita akan membuat aplikasi klasifikasi makanan pembelajaran mesin yang berjalan di perangkat Windows. Model akan dilatih untuk mengenali jenis pola tertentu untuk mengklasifikasikan gambar makanan, dan ketika diberikan gambar akan mengembalikan tag klasifikasi dan nilai keyakinan persentase terkait dari klasifikasi tersebut.

Prasyarat untuk pelatihan model

Untuk membangun dan melatih model, Anda akan menggunakan ML.NET Model Buider di Visual Studio.

  • Anda memerlukan Visual Studio 2019 16.6.1 atau yang lebih baru untuk menggunakan ML.NET Model Builder. Anda bisa mendapatkan Visual Studio di sini.
  • Anda memerlukan akun Azure untuk melatih model dengan ML.NET Model Builder dalam Ruang Kerja Azure ML. Jika Anda baru menggunakan Azure, Anda dapat mendaftar untuk akun gratis Azure.

Catatan

Tertarik untuk mempelajari selengkapnya tentang opsi pendaftaran Azure dan akun gratis Azure? Lihat Membuat akun Azure.

ML.NET Model Builder adalah ekstensi Visual Studio grafis intuitif, digunakan untuk membangun, melatih, dan menyebarkan model pembelajaran mesin kustom. Ini menggunakan pembelajaran mesin otomatis (AutoML) untuk menjelajahi algoritma dan pengaturan pembelajaran mesin yang berbeda untuk membantu Anda menemukan yang paling sesuai dengan skenario Anda.

ML.NET Model Builder dikirim dengan Visual Studio versi 16.6.1 atau yang lebih baru, saat Anda menginstal salah satu beban kerja .NET. Pastikan komponen ML.NET Model Builder diperiksa di alat penginstal saat Anda mengunduh atau memodifikasi Visual Studio. Untuk memeriksa apakah VS Anda memiliki komponen ML.NET Model Builder, buka Ekstensi dan pilih Kelola Ekstensi. Ketik Model Builder di bilah pencarian untuk meninjau hasil ekstensi.

Model builder extension

ML.NET Model Builder saat ini adalah fitur Pratinjau. Jadi, untuk menggunakan alat ini, di Visual Studio, Anda harus membuka Fitur Pratinjau Lingkungan > Opsi > Alat > dan mengaktifkan ML.NET Model Builder:

Enable the model builder extension

Catatan

Tertarik untuk mempelajari lebih lanjut tentang ML.NET Model Builder dan skenario berbeda yang didukungnya? Harap tinjau dokumentasi Model Builder.

Prasyarat untuk penyebaran aplikasi Windows ML

Untuk membuat dan menyebarkan aplikasi Widows ML, Anda memerlukan hal berikut:

  • Windows 10 versi 1809 (build 17763) atau lebih tinggi. Anda dapat memeriksa nomor versi build Anda dengan menjalankan winver melalui perintah (Windows logo key + R)Jalankan .
  • Windows SDK untuk build 17763 atau lebih tinggi. Anda bisa mendapatkan SDK di sini.
  • Visual Studio 2019 versi 16.6.1 atau yang lebih baru. Anda bisa mendapatkan Visual Studio di sini.
  • Ekstensi Visual Studio Windows ML Code Generator (mlgen). Unduh untuk VS 2019.
  • Jika Anda memutuskan untuk membuat aplikasi UWP, Anda harus mengaktifkan beban kerja pengembangan Platform Windows Universal di Visual Studio.
  • Anda juga harus mengaktifkan Mode Pengembang di PC

Catatan

WINDOWS ML API dibangun ke dalam versi terbaru Windows 10 (1809 atau lebih tinggi) dan Windows Server 2019. Jika platform target Anda adalah versi Windows yang lebih lama, Anda dapat memindahkan aplikasi WinML ke paket NuGet yang dapat didistribusikan ulang (Windows 8.1 atau lebih tinggi).

Menyiapkan data

Model pembelajaran mesin harus dilatih dengan data yang ada. Dalam panduan ini, Anda akan menggunakan himpunan data gambar makanan dari Kaggle Open Datasets. Himpunan data ini didistribusikan di bawah lisensi domain publik.

Penting

Untuk menggunakan himpunan data ini, Anda perlu mematuhi istilah penggunaan situs Kaggle dan istilah liscence yang menyertai himpunan data Food-11 itu sendiri. Microsoft tidak membuat garansi atau representasi mengenai situs atau himpunan data ini.

Himpunan data memiliki tiga pemisahan - evaluasi, pelatihan, dan validasi - dan berisi 16643 gambar makanan yang dikelompokkan dalam 11 kategori makanan utama. Gambar dalam himpunan data setiap kategori makanan ditempatkan di folder terpisah, yang membuat proses pelatihan model lebih nyaman.

Unduh himpunan data di sini. Harap dicatat bahwa himpunan data berukuran sekitar 1 gb, dan Anda mungkin diminta untuk membuat akun di situs web Kaggle untuk mengunduh data.

Food image dataset

Jika mau, Anda dipersilakan untuk menggunakan himpunan data lain dari gambar yang relevan. Seminimal mungkin, sebaiknya gunakan setidaknya 30 gambar per tag dalam set latihan awal. Anda juga ingin mengumpulkan beberapa gambar tambahan untuk menguji model Anda setelah dilatih.

Selain itu, pastikan semua gambar pelatihan Anda memenuhi kriteria berikut:

  • Format .jpg, .png, .bmp, atau .gif.
  • tidak lebih besar dari ukuran 6MB (4MB untuk gambar prediksi).
  • tidak kurang dari 256 piksel di tepi terpendek; gambar apa pun yang lebih pendek dari ini akan secara otomatis ditingkatkan skalanya oleh Custom Vision Service.

Langkah berikutnya

Setelah prasyarat Anda diurutkan dan telah menyiapkan himpunan data, Anda dapat melanjutkan pembuatan model WinML Anda. Di bagian berikutnya, Anda akan menggunakan ML.NET Model Builder untuk membuat dan melatih model klasifikasi Anda.