Menggunakan model pembelajaran mesin
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:
- Tambahkan referensi ke pustaka kelas yang berisi model Anda dari proyek tempat Anda akan menggunakan model tersebut.
- 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 layananPredictionEnginePool
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.