Tanáld be a modelledet az ML.NET-tel

Az oktatóanyag előző szakaszában áttekintettük a saját Windows Machine Learning-modell és -alkalmazás létrehozásának előfeltételeit, és letöltöttük a használni kívánt képkészletet. Ebben a szakaszban megtanuljuk, hogyan alakíthatja képosztályozási modellté a ML.NET Modellszerkesztőt.

Projekt létrehozása

  1. Nyissa meg a Visual Studiót, és válassza az "Új projekt létrehozása" lehetőséget.

Új projekt létrehozása a Modellszerkesztőhöz

  1. A keresősávba írja be a .NET kifejezést, válassza a C# nyelvet és konzolt platformként, majd válassza a C# Konzolalkalmazás (.NET Core) projektsablont.

Új .NET-projekt létrehozása

  1. A konfigurációs ablakban:
  • Nevezd el a projektedet. Itt mlNETTraining-nek hívtuk.
  • Válassza ki a projekt helyét.
  • Győződjön meg arról, hogy Place solution and project in the same directory nincs bejelölve.
  • Nyomja le create a projekt létrehozásához.

Új projekt konfigurálása

A Model Builder beállítása

Most hozzá fogja adni a Model Buildert a projektünkhöz.

  1. Kattintson a jobb gombbal az MLNETTraining projektre a Megoldáskezelőben, és válassza a lehetőséget Add > Machine Learning.

Gépi tanulás hozzáadása a projekthez

Így megnyithatja ML.NET Model Buildert egy új rögzített eszközablakban a Visual Studióban. A Model Builder végigvezeti a gépi tanulási modell létrehozásának folyamatán.

A modellkészítő forgatókönyvek listája

Az első lépés a megfelelő forgatókönyv kiválasztása. Nem minden forgatókönyv támogatja az ONNX formátumot.

Ha a betanítási környezet Azure-felhő, a létrehozott modellek ONNX formátumban vannak, és a Windows ML-alkalmazás átalakítás nélkül könnyen felhasználhatja. Ha azonban úgy dönt, hogy helyileg tanítja be a gépi tanulási modellt a gépén, a létrehozott modell ML.NET formátumú lesz.

  • A helyi CPU-betanítás az objektumészlelés kivételével minden forgatókönyv esetében támogatott.
  • A helyi GPU-betanítás támogatott a képbesoroláshoz.
  • Az Azure-betanítás támogatott a képosztályozáshoz és az objektumészleléshez.

Ebben az oktatóanyagban képosztályozási modellt tanít be az Azure-beli betanítási környezetben. A kimeneti modell ONNX formátumban lesz. A betanítás elvégzéséhez Azure-fiók szükséges.

  1. Válassza ki a képbesorolási forgatókönyvet.

  2. Válassza a Munkaterület beállítása lehetőséget az Azure-ra való betanítási környezet beállításához.

Az Azure-munkaterület beállítása

A jobb felső sarokban jelentkezzen be az Azure-előfizetéséhez társított fiókba. Az alábbi menüben:

  • Válassza ki a megfelelő előfizetést.
  • Válasszon ki és hozzon létre egy új Machine Learning-munkaterületet.
  • Válasszon vagy hozzon létre egy új számítási erőforrást.
  • Adja meg a nevet a munkaterületnek – ImageClassificationMLNET.

Az Azure-munkaterület konfigurálása

Fontos

Ha nem tudja létrehozni a Machine Learning-munkaterületet a Model Builderből, kövesse az alábbi lépéseket, hogy manuálisan hozzon létre egy munkaterületet az Azure Portalról. Ellenkező esetben nyugodtan ugorjon a 4. lépésre.

Az Azure-fiókban válassza az Erőforrás létrehozása lehetőséget:

Elérhető Azure-erőforrások

A keresősávon keressen egy Machine Learning-et.

Machine Learning keresése az Azure-erőforráslistában

Új Machine Learning-munkaterület létrehozásához nyomja le a Create billentyűt.

Az Azure Machine Learning-erőforrás

Új munkaterület létrehozásához meg kell adnia az előfizetés nevét, ki kell választania vagy létre kell hoznia egy új erőforráscsoportot, nevet kell adnia a munkaterületnek, és meg kell határoznia az összes szükséges paramétert, például régiót, tárfiókot stb.

Az Azure ML-munkaterület beállítása

Miután létrehozta a munkaterületet, és létrehozott egy új betanítási környezetet ML.NET, továbbléphet a következő lépésre.

A ML.NET betanítási környezet

Várjon, amíg a Machine Learning Services üzembe helyezése befejeződik.

A következő lépés az adatok hozzáadása a Model Builderhez.

  1. Keresse meg a képadatkészlet helyét, és válassza ki a megfelelő élelmiszerkategóriákkal rendelkező betanítási mappát. Ebben az oktatóanyagban betanítja a modellt a sivatag, a leves és a gyümölcs felismerésére, így csak ezekre a kategóriákra van szüksége az adathalmaz mappánkban.

Adatok hozzáadása az ml-modellhez

Most már készen áll a képzési részre való lépésre!

A modell betanítása

A Model Builder számos különböző algoritmussal és beállítással rendelkező modellt értékel ki, hogy a lehető legjobb teljesítményt nyújthassa.

  1. A betanítási folyamat elindításához válassza a Következő, majd a Betanítás indítása lehetőséget. A ML.Net modellkészítő először adatokat tölt fel az Azure-ba, előkészíti a munkaterületet, majd elindítja a betanítási folyamatot.

A Machine Learning-modell betanítása

A betanítás befejezése után megjelenik a betanítási eredmények összegzése.

Sikeres modellbetanítás

Legjobb pontosság – a Model Builder által talált legjobb modell pontosságát mutatja. A nagyobb pontosság azt jelenti, hogy a modell helyesebben van előrejelezve a tesztadatokon. Esetünkben a modell 95,42% megbízhatósággal tudja megjósolni a helyes eredményt.

Az eredmények kiértékelése

  1. Lépjen a következő lépésre, hogy kiértékelje a képzési eredményeket.

  2. Válassza ki a képet az adathalmaz kiértékelési mappájából, és vizsgálja meg az előrejelzést.

Modellértékelési eredmények

A modell hozzáadása a megoldáshoz

ML.NET Model Builder automatikusan hozzáadhatja a gépi tanulási modellt és a modellek betanítására és felhasználására szolgáló projekteket a megoldáshoz.

  1. Keresse meg a betanítási folyamat fogyasztási részét, és adja hozzá a megoldáshoz. Ezzel hozzáadja a létrehozott modellt a megoldásmappához.

Modell hozzáadása a megoldáshoz

A Megoldáskezelőben látnia kell a Model Builder által létrehozott kódfájlokat, beleértve a modellt – bestModel.onnx ONNX formátumban.

A modell megjelenik a megoldáskezelőben

A modell azure-beli felhőkörnyezetben van betanítve, így a létrehozott modell ONNX formátumban van.

A modell felfedezése

  1. Kattintson a jobb gombbal a bestModel.onnx fájlra, és válassza a Tartalmazó mappa megnyitása lehetőséget.

  2. Nyissa meg a modellfájlt a Netron programmal.

  3. A modell tulajdonságainak megnyitásához nyomja le a bemeneti1 csomópontot.

A modell tulajdonságainak feltárása

Amint látható, a modell 32 bites lebegőpontos tenzoros (többdimenziós tömb) objektumot igényel bemenetként, és kimenetként lebegőpontos tenzort ad vissza. A modell felépítése nem egy előrejelzett címke sztringértékét adja vissza, hanem egy három számból álló tömböt, mindegyik az élelmiszertípus megfelelő címkéjét jelöli. Ezeket az értékeket ki kell nyernie a Windows ML-alkalmazás helyes előrejelzésének megjelenítéséhez.

1. címke 2. címke 3. címke
0 1 2
desszert leves Vegetable-Fruit

Következő lépések

Most, hogy betanított egy Machine Learning-modellt, készen áll arra, hogy egy UWP-alkalmazásban helyezze üzembe a Windows Machine Learning használatával