Menggunakan model pembelajaran mesin

Selesai

Setelah melatih model pembelajaran mesin, saatnya untuk menggunakannya sehingga Anda dapat membuat prediksi.

Model ML.NET diserialkan dan disimpan ke file. Anda dapat memuat file model ke aplikasi .NET apa pun dan menggunakannya untuk membuat prediksi melalui API ML.NET.

Model Builder memudahkan Anda untuk menggunakan model dalam aplikasi yang ada dengan menggunakan cuplikan kode dan dalam aplikasi baru dengan menggunakan template.

Cuplikan kode

Jika Anda memiliki aplikasi yang sudah ada tempat Anda ingin menggunakan model untuk membuat prediksi, cuplikan kode menyederhanakan prosesnya. Untuk menggunakan cuplikan kode di aplikasi Anda:

  1. Tambahkan referensi ke pustaka kelas yang berisi model Anda dari proyek tempat Anda akan menggunakan model tersebut.
  2. Tambahkan cuplikan kode ke aplikasi Anda.

Cuplikan kode membuat instans dari input model Anda. Kemudian memanggil metode Predict dalam file .consumption.cs untuk membuat prediksi dengan menggunakan data input yang Anda berikan.

Template Proyek

Seperti kode pelatihan dan konsumsi yang dibuat secara otomatis selama proses pelatihan, Model Builder menyediakan template berikut untuk membuat aplikasi .NET baru secara otomatis untuk menggunakan model Anda.

Aplikasi konsol

Template aplikasi konsol adalah aplikasi C# .NET yang menggunakan model Anda untuk membuat prediksi. Template ini berisi file-file berikut:

  • Program.cs: Titik masuk aplikasi Anda. Mirip dengan cuplikan kode, file ini membuat instans input model Anda, menggunakan metode Predict dalam file .consumption.cs, dan menampilkan hasilnya di konsol.
  • <MODEL-NAME>.mbconfig: File .mbconfig untuk model Anda serta kode pelatihan dan konsumsi yang dihasilkan. File-file ini disalin dari proyek pustaka kelas tempat Anda pertama kali menambahkan proyek pembelajaran mesin.

API Web

Template API Web adalah proyek ASP.NET Core yang dibangun melalui model aplikasi API Minimal ASP.NET untuk menyederhanakan hosting model Anda sebagai layanan web. API Web memberi Anda fleksibilitas untuk membuat prediksi dengan model Anda melalui permintaan web HTTP dari berbagai klien, seperti desktop, web, dan aplikasi seluler.

Template API Web berisi file berikut:

  • Program.cs: Titik masuk aplikasi Anda. Dalam file ini, aplikasi Anda mengonfigurasi layanan PredictionEnginePool dengan menggunakan injeksi dependensi, menetapkan titik akhir /predict tunggal, dan memulai aplikasi Anda untuk mendengarkan permintaan HTTP yang masuk.

    Sebagai bagian dari definisi titik akhir predict, penangan juga ditentukan. Penangan menggunakan layanan PredictionEnginePool untuk membuat prediksi pada permintaan JSON masuk yang berisi data input model Anda. Penangan kemudian mengembalikan hasil prediksi tersebut kembali ke klien.

  • <MODEL-NAME>.mbconfig: File .mbconfig untuk model Anda serta kode pelatihan dan konsumsi yang dihasilkan. File-file ini disalin dari proyek pustaka kelas tempat Anda pertama kali menambahkan proyek pembelajaran mesin.

Penting

Proyek API Web tidak menggunakan metode Predict dalam file .consumption.cs. Sebagai gantinya, API Web mendaftarkan PredictionEnginePool sebagai layanan dengan menggunakan injeksi dependensi. PredictionEngine tidak aman untuk utas. Anda juga harus membuat instans API Web di mana pun dibutuhkan dalam aplikasi Anda. Saat aplikasi Anda berkembang, proses ini bisa menjadi tidak terkendali.

Untuk meningkatkan performa dan keamanan utas, gunakan kombinasi injeksi dependensi dan layanan PredictionEnginePool, yang membuat ObjectPool dari objek PredictionEngine untuk digunakan di seluruh aplikasi Anda.

Untuk mempelajari lebih lanjut tentang injeksi dependensi, lihat Injeksi dependensi di ASP.NET Core.

Di unit berikutnya, Anda akan menggunakan model yang Anda latih untuk memprediksi kegagalan mesin dalam aplikasi konsol .NET.