Szerkesztés

Megosztás a következőn keresztül:


Gyakori kérdések (gyakori kérdések)

Ez az oldal válaszokat tartalmaz a közösség windowsos gépi tanulással kapcsolatos legnépszerűbb kérdéseire.

Honnan tudhatom, hogy az ONNX-modellem a Windows ML-vel fog-e futni?

Annak ellenőrzésére, hogy a modell a Windows ML-vel fog-e futni, a legegyszerűbben a WinML Model Runner eszközzel. Másik lehetőségként ellenőrizheti ONNX-verziókat és a Windows-buildeket, ha további információt szeretne kapni az adott Windows-kiadás összes támogatott ONNX-verziójáról.

Hogyan alakíthatok át egy másik formátumú modellt ONNX-gé?

A WinMLTools használatával számos különböző formátumú modellt konvertálhat, például az Apple CoreML-t és a scikit-learn-t ONNX-re.

Hibaüzenet jelenik meg, amikor megpróbálok exportálni és/vagy ONNX-gé konvertálni a modellt, amely szerint a modell "nem támogatott operátorokkal" rendelkezik. Mit tegyek?

Előfordulhat, hogy a natív képzési keretrendszer egyes operátorai jelenleg nem támogatják az ONNX-verziót. Először javasoljuk, hogy ellenőrizze a windowsos build támogatottONNX-verzióit, és próbálja meg a modellt a maximális támogatott verzióra konvertálni. Az ONNX későbbi verziói az előző verziókhoz képest nagyobb operátorkészletek támogatását is tartalmazzák.

Ha továbbra is problémákba ütközik, javasoljuk, hogy az adatelemzési csapattal együttműködve próbálja meg elkerülni a nem támogatott operátorokat. Javasoljuk, hogy módosítsa a modell architektúráját a forrás keretrendszerben, és próbálja meg átalakítani/exportálni a modellt a cél ONNX-verzióra. Vegye figyelembe, hogy még nem kell újratanítást elvégeznie a modellen – megpróbálhatja átalakítani az architektúrát, és ha sikeres, továbbléphet a modell teljes újratanítására.

Miért nem tudom betölteni a modellt?

Több oka is lehet annak, hogy problémát tapasztal egy modell betöltésekor, de az UWP-n való fejlesztés egyik leggyakoribb oka a fájlhozzáférési korlátozások miatt van. Alapértelmezés szerint az UWP-alkalmazások csak a fájlrendszer bizonyos részeihez férhetnek hozzá, és felhasználói engedélyt vagy további képességeket igényelnek más helyek eléréséhez. További információért tekintse meg fájlhozzáférés engedélyeit.

A WinMLTools melyik verzióját használjam?

Mindig azt javasoljuk, hogy töltse le és telepítse a winmltools csomag legújabb verzióját. Ez biztosítja, hogy olyan ONNX-modelleket hozzon létre, amelyek a Windows legújabb verzióit célják.

Használhatok onnxmltoolokat winmltoolok helyett?

Igen, de gondoskodnia kell arról, hogy az onnxmltools megfelelő verzióját telepítse az ONNX 1.2.2-es verziójának megcélzásához, amely a Windows ML által támogatott minimális ONNX-verzió. Ha nem biztos abban, hogy melyik verziót telepítse, javasoljuk, hogy inkább a winmltools legújabb verzióját telepítse. Ez biztosítja, hogy meg tudja célozni a Windows által támogatott ONNX-verziót.

A Visual Studio melyik verzióját érdemes használni az automatikus kódgenerálás (mlgen) beszerzéséhez?

A Visual Studio minimálisan ajánlott verziója mlgen támogatása 15.8.7. A Windows 10 1903-es és újabb verzióiban mlgen már nem szerepel az SDK-ban, ezért le kell töltenie és telepítenie kell a bővítményt. Van egy Visual Studio 2017 és egy Visual Studio 2019.

Hibaüzenet jelenik meg az mlgen futtatásakor, és nem jön létre kód. Mi történhetett?

Az mlgen végrehajtása során a két leggyakoribb hiba a következő:

  • A kötelező "consumed_inputs" attribútum hiányzik: Ha ez a hibaüzenet jelenik meg, akkor valószínűleg egy 17763-nál régebbi Windows 10 SDK-verziójú ONNX 1.2-es modellt próbál futtatni; Javasoljuk, hogy ellenőrizze az SDK verzióját, és frissítse az 17763-es vagy újabb verzióra.
  • Típushiba: A csomópont (ZipMap) kimeneti arg (vesztesége) típusának (map(string,tensor(float))) típusa nem egyezik meg a várt típussal...: Ha ez a hiba jelentkezik, akkor az ONNX-modell valószínűleg régebbi verziójú, mint amelyet a WinML az 17763-as buildtől kezdve elfogadott. Javasoljuk, hogy frissítse a konvertercsomagot a legújabb elérhető verzióra, és állítsa vissza a modellt az ONNX 1.2-es verziójára.

Mit futtat alapértelmezés szerint a WinML?

Ha nem ad meg olyan eszközt, amelyen LearningModelDeviceKind, vagy ha LearningModelDeviceKind.Defaulthasznál, a rendszer dönti el, hogy melyik eszköz fogja kiértékelni a modellt. Ez általában a PROCESSZOR. A WinML GPU-n való futtatásához adja meg az alábbi értékek egyikét a LearningModelDevicelétrehozásakor:

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

Jegyzet

A Windows ML-vel kapcsolatos segítségért használja az alábbi erőforrásokat:

  • Ha technikai kérdéseket szeretne feltenni vagy megválaszolni a Windows ML-ről, használja a Stack Overflowwindows-machine-learning címkéjét.
  • Hiba bejelentéséhez küldjön egy hibát a GitHub.