Aracılığıyla paylaş


SSS (Sık Sorulan Sorular)

Bu sayfa, Windows ML hakkında topluluk tarafından en popüler soruların yanıtlarını içerir.

Sahip olduğum ONNX modelinin Windows ML ile çalıştırılıp çalıştırılacağını nasıl bilebilirim?

Modelinizin Windows ML ile çalıştırılıp çalıştırılacağını denetlemenin en kolay yolu, WinML Model Çalıştırıcısı aracını kullanmaktır. Alternatif olarak, belirli bir Windows sürümü için desteklenen tüm ONNX sürümleri hakkında daha fazla bilgi için ONNX sürümlerini ve Windows derlemelerini de de kontrol edebilirsiniz.

Farklı bir biçimdeki bir modeli ONNX'e nasıl dönüştürebilirim?

Apple CoreML ve scikit-learn gibi çeşitli biçimlerdeki modelleri ONNX'e dönüştürmek için WinMLTools'ı kullanabilirsiniz.

Modelimi dışarı aktarmaya ve/veya modelimi ONNX'e dönüştürmeye çalışırken "desteklenmeyen işleçler" olduğunu belirten hatalar alıyorum. Ne yapmalıyım?

Yerel eğitim çerçevesindeki bazı işleçler şu anda bir ONNX sürümü tarafından desteklenmeyebilir. İlk olarak, hedef Windows derlemeniz için desteklenen ONNX sürümlerini denetlemenizi ve modelinizi desteklenen en yüksek sürüme dönüştürmeyi denemenizi öneririz. ONNX'in sonraki sürümleri, önceki sürümlerle karşılaştırıldığında daha büyük bir işleç kümesi için destek içerir.

Sorunlarla karşılaşmaya devam ederseniz desteklenmeyen işleçlerden kaçınmak için veri bilimi ekibinizle birlikte çalışmanızı öneririz. Önerdiğimiz yaklaşımlardan biri, modelin mimarisini kaynak çerçevede değiştirmek ve modeli hedef ONNX sürümüne dönüştürmeye/dışarı aktarmaya çalışmaktır. Modeli henüz yeniden eğitmenize gerek olmadığını unutmayın; mimariyi dönüştürmeyi deneyebilir ve başarılı olursa modelinizi tam olarak yeniden eğitmeye geçebilirsiniz.

Modeli neden yükleyemiyorum?

Bir modeli yüklerken sorun yaşayabilirsiniz, ancak UWP'de geliştirme yaparken en yaygın nedenlerden biri dosya erişim kısıtlamalarıdır. Varsayılan olarak, UWP uygulamaları dosya sisteminin yalnızca belirli bölümlerine erişebilir ve diğer konumlara erişmek için kullanıcı izni veya ek özellikler gerektirir. Daha fazla bilgi için bkz. dosya erişim izinleri .

WinMLTools'un hangi sürümünü kullanmalıyım?

Her zaman winmltools paketinin en son sürümünü indirmenizi ve yüklemenizi öneririz. Bu, Windows'un en son sürümlerini hedefleyen ONNX modelleri oluşturabilmenizi sağlar.

Winmltools yerine onnxmltools kullanabilir miyim?

Evet, ancak Windows ML tarafından desteklenen en düşük ONNX sürümü olan ONNX v1.2.2'yi hedeflemek için doğru onnxmltools sürümünü yüklediğinizden emin olmanız gerekir. Hangi sürümün yükleneceğinden emin değilseniz, bunun yerine winmltools'un en son sürümünü yüklemenizi öneririz. Bu, Windows tarafından desteklenen ONNX sürümünü hedefleyebilmenizi sağlar.

Otomatik kod oluşturma (mlgen) almak için hangi Visual Studio sürümünü kullanmalıyım?

Visual Studio'nunmlgen desteğiyle önerilen en düşük sürümü 15.8.7'dir. Windows 10, sürüm 1903 ve sonraki sürümlerde mlgen artık SDK'ya dahil değildir, bu nedenle uzantıyı indirip yüklemeniz gerekir. Visual Studio 2017 ve Visual Studio 2019 için bir tane vardır.

mlgen'i çalıştırmaya çalışırken bir hata iletisi alıyorum ve kod üretilmemiş. Neler olabilir ki?

mlgen yürütülmeye çalışılırken en sık karşılaşılan iki hata şunlardır:

  • Gerekli 'consumed_inputs' özniteliği eksik: Bu hata iletisiyle karşılaşırsanız, büyük olasılıkla 17763'ten eski bir Windows 10 SDK sürümüne sahip bir ONNX v1.2 modeli çalıştırmaya çalışıyorsunuz demektir; SDK sürümünüzü denetlemenizi ve 17763 veya sonraki bir sürüme güncelleştirmenizi öneririz.
  • Tür Hatası: Düğüm çıkış arg (ZipMap) kaybı türü (map(string,tensor(float))) beklenen türle eşleşmiyor...: Bu hatayla karşılaşırsanız, büyük olasılıkla ONNX modeliniz Derleme 17763'ten başlayarak WinML tarafından kabul edilenden daha eski bir sürümdür. Dönüştürücü paketinizi en son kullanılabilir sürüme güncelleştirmenizi ve modelinizi ONNX'in 1.2 sürümüne dönüştürmenizi öneririz.

WinML varsayılan olarak ne üzerinde çalışır?

LearningModelDeviceKind ile çalıştırılacak bir cihaz belirtmezseniz veya LearningModelDeviceKind.Default kullanıyorsanız, modeli hangi cihazın değerlendireceğine sistem karar verir. Bu genellikle CPU'dur. WinML'nin GPU'da çalışmasını sağlamak için LearningModelDevice oluştururken aşağıdaki değerlerden birini belirtin:

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

Not

Windows ML ile ilgili yardım için aşağıdaki kaynakları kullanın:

  • Windows ML hakkında teknik sorular sormak veya yanıtlamak için stack overflow'dawindows-machine-learning etiketini kullanın.
  • Bir hatayı bildirmek için lütfen GitHub'ımızda bir sorun oluşturun.