FAQ (Tanya Jawab Umum)

Halaman ini berisi jawaban atas pertanyaan paling populer dari komunitas.

Bagaimana cara mengetahui apakah model ONNX yang saya miliki akan berjalan dengan Windows ML?

Cara termampu untuk memeriksa apakah model Anda akan berjalan dengan Windows ML adalah dengan menggunakan alat WinML Model Runner. Atau, Anda dapat memeriksa versi ONNX dan build Windows untuk informasi selengkapnya tentang semua versi ONNX yang didukung untuk rilis Windows tertentu.

Bagaimana cara mengonversi model dengan format yang berbeda ke ONNX?

Anda dapat menggunakan WinMLTools untuk mengonversi model dari beberapa format berbeda, seperti Apple CoreML dan scikit-learn, ke ONNX.

Saya mendapatkan kesalahan saat mencoba mengekspor dan/atau mengonversi model saya ke ONNX yang mengatakan model saya memiliki "operator yang tidak didukung." Apa yang harus saya lakukan?

Beberapa operator dalam kerangka kerja pelatihan asli mungkin saat ini tidak didukung oleh versi ONNX. Pertama, kami sarankan Anda memeriksa versi ONNX yang didukung untuk build Windows target Anda, dan mencoba mengonversi model Anda ke versi maksimum yang didukung. Versi ONNX yang lebih baru mencakup dukungan untuk sekumpulan operator yang lebih besar dibandingkan dengan versi sebelumnya.

Jika Anda terus mengalami masalah, sebaiknya bekerja sama dengan tim ilmu data Anda untuk mencoba dan menghindari operator yang tidak didukung. Salah satu pendekatan yang kami sarankan adalah mengubah arsitektur model dalam kerangka kerja sumber dan mencoba mengonversi/mengekspor model ke versi ONNX target. Perhatikan bahwa Anda belum perlu melatih kembali model—Anda dapat mencoba mengonversi arsitektur dan, jika berhasil, maka Anda dapat beralih ke pelatihan ulang penuh model Anda.

Mengapa saya tidak dapat memuat model?

Ada beberapa alasan mengapa Anda mungkin mengalami kesulitan memuat model, tetapi salah satu yang paling umum saat mengembangkan di UWP adalah karena pembatasan akses file. Secara default, aplikasi UWP hanya dapat mengakses bagian tertentu dari sistem file, dan memerlukan izin pengguna atau kemampuan tambahan untuk mengakses lokasi lain. Lihat Izin akses file untuk informasi selengkapnya.

Versi WinMLTools mana yang harus saya gunakan?

Kami selalu menyarankan Anda mengunduh dan menginstal versi terbaru dari paket winmltools . Ini akan memastikan Anda dapat membuat model ONNX yang menargetkan versi terbaru Windows.

Dapatkah saya menggunakan onnxmltools alih-alih winmltools?

Ya, Anda bisa, tetapi Anda harus memastikan Anda menginstal versi onnxmltools yang benar untuk menargetkan ONNX v1.2.2, yang merupakan versi ONNX minimum yang didukung oleh Windows ML. Jika Anda tidak yakin versi mana yang akan diinstal, sebaiknya instal versi terbaru winmltools sebagai gantinya. Ini akan memastikan Anda akan dapat menargetkan versi ONNX yang didukung oleh Windows.

Versi Visual Studio mana yang harus saya gunakan untuk mendapatkan pembuatan kode otomatis (mlgen)?

Versi visual Studio minimum yang direkomendasikan dengan dukungan untuk mlgen adalah 15.8.7. Dalam Windows 10, versi 1903 dan yang lebih baru, mlgen tidak lagi disertakan dalam SDK, jadi Anda harus mengunduh dan menginstal ekstensi. Ada satu untuk Visual Studio 2017 dan satu untuk Visual Studio 2019.

Saya mendapatkan pesan kesalahan saat mencoba menjalankan mlgen dan tidak ada kode yang dihasilkan. Apa yang mungkin terjadi?

Dua kesalahan paling umum saat mencoba mengeksekusi mlgen adalah:

  • Atribut yang diperlukan 'consumed_inputs' hilang: Jika Anda mengalami pesan kesalahan ini, kemungkinan besar Anda mencoba menjalankan model ONNX v1.2 dengan versi Windows 10 SDK yang lebih lama dari 17763; kami sarankan Anda memeriksa versi SDK Anda dan memperbaruinya ke versi 17763 atau yang lebih baru.
  • Kesalahan Jenis: Jenis (map(string,tensor(float))) dari output arg (loss) of node (ZipMap) tidak cocok dengan jenis yang diharapkan...: Jika Anda mengalami kesalahan ini, kemungkinan besar model ONNX Anda adalah versi yang lebih lama dari yang diterima oleh WinML yang dimulai dengan build 17763. Kami menyarankan agar Anda memperbarui paket konverter ke versi terbaru yang tersedia dan mengonversi ulang model Anda ke ONNX versi 1.2.

Apa yang dijalankan WinML secara default?

Jika Anda tidak menentukan perangkat untuk dijalankan dengan LearningModelDeviceKind, atau jika Anda menggunakan LearningModelDeviceKind.Default, sistem akan memutuskan perangkat mana yang akan mengevaluasi model. Ini biasanya CPU. Untuk membuat WinML berjalan pada GPU, tentukan salah satu nilai berikut saat membuat LearningModelDevice:

  • LearningModelDeviceKind.DirectX
  • LearningModelDeviceKind.DirectXHighPerformance
  • LearningModelDeviceKind.DirectXMinPower

Catatan

Gunakan sumber daya berikut untuk bantuan terkait 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.