Bagikan melalui


Melatih model Anda dengan ML.NET

Pada tahap sebelumnya dari tutorial ini, kami membahas prasyarat pembuatan model dan aplikasi Windows Pembelajaran Mesin Anda sendiri, dan mengunduh gambar yang diatur untuk digunakan. Pada tahap ini, kita akan mempelajari cara menggunakan ML.NET Model Builder untuk mengubah gambar kita diatur menjadi model klasifikasi gambar.

Membuat proyek

  1. Buka Visual Studio dan pilih "buat proyek baru".

Create a new project for the Model Builder

  1. Di bilah pencarian, ketik .NET, pilih C# sebagai bahasa dan konsol Anda sebagai platform Anda lalu pilih templat proyek Aplikasi Konsol C# (.NET Core).

Create a new .NET project

  1. Di jendela konfigurasi:
  • Beri nama proyek Anda. Di sini, kami menyebutnya MLNETTraining.
  • Pilih lokasi untuk proyek Anda.
  • Pastikan Place solution and project in the same directory tidak dicentang.
  • Tekan create untuk membuat proyek Anda.

Configure your new project

Menyiapkan Pembuat Model

Sekarang, Anda akan menambahkan Model Builder ke proyek kami.

  1. Klik kanan pada proyek MLNETTraining di Penjelajah Solusi dan pilih Add > Machine Learning.

Add machine learning to your project

Dengan cara ini, Anda membuka ML.NET Model Builder di jendela alat dock baru di Visual Studio. Model Builder akan memandu Anda melalui proses membangun model pembelajaran mesin.

List of model builder scenarios

Langkah pertama adalah memilih skenario yang relevan. Tidak semua skenario mendukung format ONNX.

Jika lingkungan pelatihan adalah cloud Azure, model yang dihasilkan dalam format ONNX dan dapat dengan mudah digunakan oleh aplikasi Windows ML tanpa konversi. Namun, jika Anda memutuskan untuk melatih model pembelajaran mesin Anda secara lokal di komputer Anda, model yang dihasilkan akan dalam format ML.NET.

  • Pelatihan CPU lokal didukung untuk semua skenario kecuali Deteksi Objek.
  • Pelatihan GPU lokal didukung untuk Klasifikasi Gambar.
  • Pelatihan Azure didukung untuk Klasifikasi Gambar dan Deteksi Objek.

Dalam tutorial ini, Anda akan melatih model klasifikasi gambar di lingkungan pelatihan Azure. Model output akan dalam format ONNX. Akun Azure diperlukan untuk menyelesaikan pelatihan.

  1. Pilih Skenario Klasifikasi Gambar.

  2. Pilih Siapkan ruang kerja untuk menyiapkan lingkungan pelatihan Azure Anda.

Set up your Azure workspace

Di sudut kanan atas, masuk ke akun yang terkait dengan langganan Azure Anda. Pada menu di bawah ini:

  • Pilih langganan yang relevan.
  • Pilih dan buat ruang kerja Pembelajaran Mesin baru.
  • Pilih atau buat sumber daya Komputasi baru.
  • Berikan nama ke ruang kerja Anda – ImageClassificationMLNET.

Configure your Azure workspace

Penting

Jika Anda tidak dapat membuat ruang kerja Pembelajaran Mesin dari Model Builder, ikuti langkah-langkah ini untuk membuat ruang kerja secara manual dari Portal Microsoft Azure Anda. Jika tidak, Anda dapat melompat ke langkah 4.

Di akun Azure Anda, pilih Buat sumber daya:

Available Azure resources

Di bilah pencarian, cari Pembelajaran Mesin.

Search for Machine Learning in the Azure resource list

Tekan Buat untuk membuat ruang kerja Pembelajaran Mesin baru.

The Azure Machine Learning resource

Untuk membuat ruang kerja baru, Anda harus memberikan nama langganan Anda, memilih atau membuat grup sumber daya baru, memberi nama ke ruang kerja dan menentukan semua parameter yang diperlukan seperti wilayah, akun penyimpanan, dll.

Set up your Azure ML workspace

Setelah Anda menetapkan ruang kerja dan membuat lingkungan pelatihan baru di ML.NET, Anda dapat pindah ke langkah berikutnya.

The ML.NET training environment

Tunggu hingga penyebaran Layanan Pembelajaran Mesin selesai.

Langkah selanjutnya adalah menambahkan data ke Model Builder.

  1. Navigasi ke lokasi himpunan data gambar dan pilih folder pelatihan dengan kategori makanan yang relevan. Dalam tutorial ini Anda akan melatih model untuk mengenali gurun, sup, dan buah, jadi Anda hanya memerlukan kategori ini di folder himpunan data kami.

Add data to your ML model

Sekarang, Anda siap untuk pindah ke bagian pelatihan!

Melatih Model Anda

Model Builder mengevaluasi banyak model dengan berbagai algoritma dan pengaturan untuk memberi Anda model berkinerja terbaik.

  1. Pilih berikutnya lalu Mulai Pelatihan untuk memulai proses pelatihan. Penyusun model ML.Net akan dimulai dengan mengunggah data ke Azure, menyiapkan ruang kerja lalu memulai proses pelatihan.

Train your Machine Learning model

Setelah pelatihan selesai, Anda akan melihat ringkasan hasil pelatihan.

Successful model training

Akurasi terbaik - menunjukkan akurasi model terbaik yang ditemukan Model Builder. Akurasi yang lebih tinggi berarti model diprediksi lebih benar pada data pengujian. Dalam kasus kami, model dapat memprediksi hasil yang benar dengan keyakinan 95,42%.

Evaluasi hasil

  1. Pindahkan langkah berikutnya untuk mengevaluasi hasil pelatihan.

  2. Pilih gambar dari folder evaluasi himpunan data dan jelajahi prediksi.

Model evaluation results

Menambahkan model ke solusi

ML.NET Model Builder dapat secara otomatis menambahkan model pembelajaran mesin dan proyek untuk melatih dan mengkonsumsi model ke solusi Anda.

  1. Navigasi ke bagian konsumsi dari proses pelatihan dan jual Tambahkan ke solusi. Ini akan menambahkan model yang dihasilkan ke folder solusi Anda.

Add your model to your solution

Dalam Penjelajah Solusi, Anda akan melihat file kode yang dihasilkan oleh Model Builder, termasuk model – bestModel.onnx dalam format ONNX.

Your model displayed in the solution explorer

Model yang dilatih di lingkungan cloud Azure, sehingga model yang dihasilkan dalam format ONNX.

Menjelajahi model Anda

  1. Klik kanan pada bestModel.onnx akan dan pilih Buka Folder Yang Berisi.

  2. Buka file model Anda dengan program Netron.

  3. Tekan pada simpul input1 untuk membuka properti model.

Exploring the properties of your model

Seperti yang Anda lihat, model memerlukan objek tensor float 32-bit (array multi-dimensi) sebagai input dan mengembalikan float Tensor sebagai output. Cara model dibangun, model tidak mengembalikan nilai string dari label yang diprediksi tetapi array tiga angka, masing-masing mewakili label yang relevan dari jenis makanan. Anda harus mengekstrak nilai-nilai ini untuk menunjukkan prediksi yang benar dengan aplikasi Windows ML.

Label 1 Label 2 Label 3
0 1 2
Makanan penutup sup Sayur-Buah

Langkah berikutnya

Setelah melatih model Pembelajaran Mesin, Anda siap untuk menyebarkannya di aplikasi UWP dengan Windows Pembelajaran Mesin