Gépi tanulási modellek felhasználása

Befejeződött

A gépi tanulási modellek betanítása után ideje felhasználni, hogy előrejelzéseket készíthessenek.

ML.NET modellek szerializálva vannak, és fájlba vannak mentve. A modellfájlt bármely .NET-alkalmazásba betöltheti, és előrejelzéseket készíthet ML.NET API-k segítségével.

A Model Builder megkönnyíti a modell használatát a meglévő alkalmazásokban kódrészletek és új alkalmazásokban sablonok használatával.

Kódrészletet

Ha rendelkezik egy meglévő alkalmazással, amelyben a modell használatával előrejelzéseket szeretne készíteni, a kódrészlet leegyszerűsíti a folyamatot. Kódrészlet használata az alkalmazásban:

  1. Adjon hozzá egy hivatkozást a modellt tartalmazó osztálytárra abban a projektben, amelyben a modellt használni fogja.
  2. Adja hozzá a kódrészletet az alkalmazáshoz.

A kódrészlet létrehozza a modell bemenetének egy példányát. Ezután meghívja a Predict.consumption.cs fájlban lévő metódust, hogy előrejelzéseket készítsen a megadott bemeneti adatok használatával.

Projektsablonok

A betanítási folyamat során automatikusan létrehozott betanítási és használati kódhoz hasonlóan a Model Builder az alábbi sablonokat kínálja az új .NET-alkalmazások automatikus létrehozásához a modell felhasználásához.

Konzolalkalmazás

A konzolalkalmazás-sablon egy C# .NET-alkalmazás, amely a modell használatával készít előrejelzéseket. A következő fájlokat tartalmazza:

  • Program.cs: Az alkalmazás belépési pontja. A kódrészlethez hasonlóan ez a fájl létrehozza a modell bemenetének egy példányát, használja a Predict metódust a .consumption.cs fájlban, és megjeleníti az eredményt a konzolon.
  • <MODEL-NAME.mbconfig>: A modellhez tartozó .mbconfig fájl, valamint a létrehozott betanítási és használati kód. Ezek a fájlok át lesznek másolva az osztálytár projektből, ahol eredetileg hozzáadta a gépi tanulási projektet.

Webes API

A Web API-sablon egy ASP.NET Core-projekt, amely a ASP.NET Minimal API-alkalmazásmodellen keresztül készült, hogy leegyszerűsítse a modell webszolgáltatásként való üzemeltetését. A webes API-k lehetővé teszik, hogy a modellel előrejelzéseket készítsen a különböző ügyfelek http-webkérelmeivel, például asztali, webes és mobilalkalmazásokkal.

A Webes API-sablon a következő fájlokat tartalmazza:

  • Program.cs: Az alkalmazás belépési pontja. Ebben a fájlban az alkalmazás függőséginjektálással konfigurálja a PredictionEnginePool szolgáltatást, egyetlen /predict végpontot határoz meg, és elindítja az alkalmazást a bejövő HTTP-kérések figyelésére.

    A végpontdefiníció részeként egy predict kezelő is definiálva van. A kezelő a szolgáltatás használatával előrejelzéseket készít a PredictionEnginePool modell bemeneti adatait tartalmazó bejövő JSON-kérelmekről. A kezelő ezután visszaadja az előrejelzések eredményeit az ügyfélnek.

  • <MODEL-NAME.mbconfig>: A modellhez tartozó .mbconfig fájl, valamint a létrehozott betanítási és használati kód. Ezek a fájlok át lesznek másolva az osztálytár projektből, ahol eredetileg hozzáadta a gépi tanulási projektet.

Fontos

A Web API-projekt nem használja a metódust Predict a .consumption.cs fájlban. Ehelyett függőséginjektálással PredictionEnginePool regisztrál szolgáltatásként. PredictionEngine nincs szálbiztos. Emellett mindenhol létre kell hoznia egy példányt, amire szükség van az alkalmazásban. Az alkalmazás növekedésével ez a folyamat kezelhetetlenné válhat.

A jobb teljesítmény és a szálbiztonság érdekében használja a függőséginjektálás és a PredictionEnginePool szolgáltatás kombinációját, amely objektumokat hoz létre ObjectPoolPredictionEngine az alkalmazás teljes területén való használatra.

A függőséginjektálásról további információt a Függőséginjektálás a ASP.NET Core-ban című témakörben talál.

A következő leckében a .NET-konzolalkalmazásokban a géphibák előrejelzésére betanított modellt fogja használni.