Gépi tanulási modellek felhasználása
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:
- Adjon hozzá egy hivatkozást a modellt tartalmazó osztálytárra abban a projektben, amelyben a modellt használni fogja.
- 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 aPredictionEnginePool
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 ObjectPool
PredictionEngine
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.