Mengintegrasikan model ke dalam aplikasi Anda dengan Windows ML

Dalam panduan ini, kita akan membahas cara menggunakan API Windows ML untuk mengintegrasikan model ke dalam aplikasi Windows Anda. Atau, jika Anda ingin menggunakan generator kode otomatis Windows ML, lihat mlgen.

API penting: Windows.AI.Machine Pembelajaran

Kita akan membahas blok penyusun dasar Windows ML, yaitu:

  • Model
  • Sesi
  • Perangkat
  • Pengikatan

Anda akan menggunakan ini untuk memuat, mengikat, dan mengevaluasi model Anda dengan Windows ML.

Kami juga menyarankan untuk melihat contoh aplikasi kami di GitHub untuk melihat contoh kode Windows ML end-to-end.

Video berikut menunjukkan API ini beraksi dalam demo singkat.


Menggunakan API WinML di C++

Meskipun API WinML tersedia di C++/CX dan C++/WinRT, sebaiknya gunakan versi C++/WinRT, karena memungkinkan pengodean C++ yang lebih alami dan merupakan tempat sebagian besar upaya pengembangan akan difokuskan ke depannya. Anda dapat mengikuti instruksi di bawah ini yang berkaitan dengan situasi tertentu Anda untuk menggunakan API C++/WinRT:

  • Jika Anda menargetkan Windows 1803 atau yang lebih lama, lihat Tutorial: Port Aplikasi WinML yang Ada ke Paket NuGet.
  • Jika Anda membuat aplikasi C++ baru, lihat Tutorial: Membuat aplikasi Windows Pembelajaran Mesin Desktop (C++) dan ikuti langkah-langkah hingga Memuat model.
  • Jika Anda memiliki aplikasi C++ yang sudah ada (yang belum disiapkan untuk C++/WinRT), ikuti langkah-langkah berikut untuk menyiapkan aplikasi Anda untuk C++/WinRT:
    1. Pastikan Anda memiliki versi terbaru Visual Studio 2019 yang terinstal (edisi apa pun).
    2. Pastikan Anda memiliki SDK untuk Windows 10, versi 1803 atau yang lebih baru.
    3. Unduh dan instal C++/WinRT Visual Studio Extension (VSIX) dari Visual Studio Marketplace.
    4. <CppWinRTEnabled>true</CppWinRTEnabled> Tambahkan properti ke file .vcxproj proyek:
      <Project ...>
          <PropertyGroup Label="Globals">
              <CppWinRTEnabled>true</CppWinRTEnabled>
      ...
      
    5. C++/WinRT memerlukan fitur dari standar C++17, jadi di properti proyek Anda, atur C/C++ > Language > C++ Language Standard > ISO C++17 Standard (/std:c++17).
    6. Atur Mode kesuaian: Ya (/permisif-) di properti proyek Anda.
    7. Properti proyek lain yang perlu diperhatikan adalah C/C++ > General > Treat Warnings As Errors. Atur ini ke Ya (/WX) atau Tidak (/WX-) secukupnya. Terkadang, file sumber yang dihasilkan oleh alat cppwinrt.exe menghasilkan peringatan hingga Anda menambahkan implementasi Anda ke file tersebut.
    8. VSIX juga memberi Anda visualisasi debug asli Visual Studio (natvis) dari jenis yang diproyeksikan C++/WinRT, memberikan pengalaman yang mirip dengan penelusuran kesalahan C#. Natvis otomatis untuk build debug. Anda dapat memilih build rilisnya dengan menentukan simbol WINRT_NATVIS.
    9. Proyek Anda sekarang harus disiapkan untuk C++/WinRT. Lihat C++/WinRT untuk informasi selengkapnya.

Catatan

Gunakan sumber daya berikut untuk bantuan dengan Windows ML:

  • Untuk mengajukan atau menjawab pertanyaan teknis tentang Windows ML, silakan gunakan tag windows-machine-learning di Stack Overflow.
  • Untuk melaporkan bug, silakan ajukan masalah di GitHub kami.