Trénování modelu klasifikace obrázků v Azure pomocí Tvůrce modelů
Naučte se trénovat model klasifikace obrázků v Azure pomocí Tvůrce modelů za účelem kategorizace využití půdy ze satelitních obrázků.
V tomto kurzu se dozvíte, jak vytvořit knihovnu tříd jazyka C# pro kategorizaci využití půdy na základě satelitních obrázků pomocí Tvůrce modelů.
V tomto kurzu:
- Příprava a pochopení dat
- Vytvoření konfiguračního souboru Tvůrce modelů
- Volba scénáře
- Načtení dat
- Vytvoření experimentu v Azure
- Trénování modelu
- Vyhodnocení modelu
- Využití modelu
Požadavky
- Seznam požadavků a pokynů k instalaci najdete v průvodci instalací Model Builderu.
- Účet Azure. Pokud účet nemáte, vytvořte bezplatný účet Azure.
- ASP.NET a úlohy vývoje pro web
Přehled klasifikace obrázků v Tvůrci modelů
Tato ukázka vytvoří knihovnu tříd jazyka C#, která kategorizuje využití země ze satelitních snímků mapy pomocí modelu hloubkového učení natrénovaného v Azure pomocí Tvůrce modelů. Zdrojový kód pro tento kurz najdete v dotnet/machinelearning-samples úložišti GitHub.
Vytvoření knihovny tříd jazyka C#
Vytvořte knihovnu tříd jazyka C# s názvem LandUse.
Příprava a pochopení dat
Poznámka
Data pro tento kurz pocházejí z:
- Euroat: Nová datová sada a srovnávací test hlubokého učení pro využívání půdy a klasifikaci pokrytí půdy. Patrick Helber, Benjamin Bischke, Andreas Dengel, Damian Borth. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2019.
- Představujeme EuroSAT: Nová datová sada a srovnávací test strojového učení pro klasifikaci využití a krytí půdy. Patrick Helber, Benjamin Bischke, Andreas Dengel. 2018 IEEE International Geoscience and Remote Sensing Symposium, 2018.
Datová sada EuroSAT obsahuje kolekci satelitních obrázků rozdělených do deseti kategorií (venkovské, průmyslové, řeky atd.). Původní datová sada obsahuje 27 000 obrázků. Pro usnadnění tohoto kurzu se používá jenom 2 000 těchto imagí.
- Stáhněte podmnožinu datové sady EuroSAT a uložte ji kamkoliv do počítače.
- Rozbalte ho.
Vytvoření konfiguračního souboru Tvůrce modelů
Při prvním přidání Tvůrce modelů do řešení se zobrazí výzva k vytvoření souboru mbconfig
. Soubor mbconfig
sleduje všechno, co v Tvůrci modelů děláte, abyste mohli relaci znovu otevřít.
- V Průzkumníku řešení klikněte pravým tlačítkem na projekt LandUse a vyberte Přidat > Model strojového učení.
- V dialogovém okně pojmenujte projekt Model Builder LandUsea klikněte na Přidat.
Volba scénáře
Obrazovka scénáře tvůrce modelů
Pokud chcete model vytrénovat, musíte si vybrat ze seznamu dostupných scénářů strojového učení poskytovaných Tvůrcem modelů.
Pro tuto ukázku je úloha klasifikace obrázků. V kroku scénáře nástroje Tvůrce modelů vyberte scénář Klasifikace obrázků.
Výběr prostředí
Tvůrce modelů může spustit trénování v různých prostředích v závislosti na vybraném scénáři.
Jako prostředí vyberte Azure a klikněte na tlačítko Nastavit pracovní prostor.
Vytvoření experimentu v Azure
Experiment služby Azure Machine Learning je prostředek, který je potřeba vytvořit před spuštěním trénování Model Builderu v Azure.
Experiment zapouzdřuje konfiguraci a výsledky pro jedno nebo více trénovacích běhů strojového učení. Experimenty patří do určitého pracovního prostoru. Při prvním vytvoření experimentu se jeho název zaregistruje v pracovním prostoru. Všechna následná spuštění – pokud se použije stejný název experimentu – se protokolují jako součást stejného experimentu. V opačném případě se vytvoří nový experiment.
V dialogovém okně Vytvořit nový experiment zvolte své předplatné z rozevíracího seznamu předplatného.
Vytvoření pracovního prostoru
Pracovní prostor je prostředek služby Azure Machine Learning, který poskytuje centrální místo pro všechny prostředky a artefakty Azure Machine Learning vytvořené v rámci trénovacího spuštění.
V dialogovém okně Vytvořit nový experiment vyberte odkaz Nový vedle rozevíracího seznamu s názvem pracovního prostoru pro strojové učení .
V dialogovém okně "Create A New Workspace" zadejte "landuse-wkspc" do textového pole název pracovního prostoru pro strojové učení.
Vyberte Východ USA z rozevíracího seznamu Oblasti. Oblast je zeměpisné umístění datového centra, do kterého se nasazují vaše pracovní prostory a prostředky. Doporučujeme zvolit umístění blízko místa, kde jste vy nebo vaši zákazníci.
Vyberte odkaz Nový vedle rozevíracího seznamu Skupiny prostředků.
- V dialogovém okně Vytvořit novou skupinu prostředků zadejte "landuse-rg" do textového pole název skupiny prostředků.
- Vyberte OK.
V rozevíracím seznamu Skupiny prostředků vyberte nově vytvořenou skupinu prostředků.
Vyberte Vytvořit.
Proces zřizování trvá několik minut. Na Azure bude podán požadavek na zřízení následujících cloudových prostředků:
- Pracovní prostor Azure Machine Learning
- Účet služby Azure Storage
- Azure Application Insights
- Azure Container Registry
- Azure Key Vault
Po dokončení procesu zřizování vyberte nově vytvořený pracovní prostor v rozevíracím seznamu názvů pracovních prostorů Machine Learning v dialogovém okně Vytvořit nový experiment.
Vytvořit výpočetní prostředky
Výpočetní prostředí Azure Machine Learning je cloudový virtuální počítač s Linuxem, který se používá k trénování.
- V dialogovém okně Vytvořit nový experiment vyberte odkaz Nový vedle rozevíracího seznamu Název výpočtu.
- V dialogovém okně Vytvořit nový výpočetní objekt zadejte do textového pole Název výpočetního objektu "landuse-cpt".
- V rozevíracím seznamu Velikost výpočetních prostředků zvolte Standard_NC24. Tvůrce modelů používá výpočetní typy optimalizované pro GPU. Další podrobnosti o výpočetních typech optimalizovaných pro GPU najdete v dokumentaci k
virtuálním počítačům řady NC-series s Linuxem. - Vyberte Vytvořit. Zřízení výpočetních prostředků může trvat několik minut.
- Po dokončení procesu zřizování zvolte nově vytvořený pracovní prostor v rozevíracím seznamu Výpočetní název v dialogovém okně Vytvořit nový experiment.
- Výběrem tlačítka Další krok načtěte data.
Načtení dat
- V kroku zpracování dat nástroje Tvůrce modelu vyberte tlačítko vedle textového pole Vyberte složku.
- Pomocí Průzkumníka souborů můžete procházet a vybrat rozbalený adresář obsahující obrázky.
- Výběrem tlačítka Další krok přejděte k dalšímu kroku v nástroji Tvůrce modelů.
Trénování modelu
Trénování v Azure je k dispozici pouze pro scénář klasifikace obrázků v Tvůrci modelů. Algoritmus použitý k trénování těchto modelů je hloubková neurální síť založená na architektuře ResNet50. Během procesu trénování modelu model Builder trénuje samostatné modely pomocí algoritmu a nastavení ResNet50, abyste našli model s nejlepším výkonem pro vaši datovou sadu.
Zahájení trénování
Jakmile nakonfigurujete pracovní prostor a typ výpočetních prostředků, je čas dokončit vytvoření experimentu a zahájit trénování.
Klikněte na tlačítko Zahájit trénování.
Proces trénování nějakou dobu trvá a doba se může lišit v závislosti na velikosti vybraného výpočetního objektu a množství dat. Při prvním trénování modelu můžete očekávat o něco delší dobu trénování, protože je potřeba zřídit prostředky. Průběh spuštění můžete sledovat výběrem odkazu Sledovat aktuální spuštění v Azure portal ve Visual Studio.
V průběhu trénování se v části Průběh kroku trénování zobrazují údaje o průběhu.
- Stav zobrazuje stav dokončení procesu trénování.
- Nejlepší přesnost zobrazuje přesnost modelu s nejlepším výkonem, který dosud našel Tvůrce modelů. Vyšší přesnost znamená, že model předpověděl správně na testovacích datech.
- Algoritmus zobrazuje název algoritmu s nejlepším výkonem, který dosud našel Tvůrce modelů.
Po dokončení trénování vyberte tlačítko Další krok a přejděte k vyhodnocení modelu.
Vyhodnocení modelu
Výsledkem trénovacího kroku je jeden model, který měl nejlepší výkon. V kroku vyhodnocení nástroje Tvůrce modelů bude karta Podrobnosti ve výstupní části obsahovat algoritmus používaný nejvýkonnějším modelem v položce Algoritmus spolu s metrikami v položce Přesnost v podrobnostech Nejlepší model.
Pokud nejste spokojení s metrikami přesnosti, je několik snadných způsobů, jak vyzkoušet a zlepšit přesnost modelu, použít více dat nebo rozšířit stávající data. V opačném případě vyberte tlačítko Další krok a přejděte k poslednímu kroku v nástroji Tvůrce modelů.
(Volitelné) Spotřebovat model
Tento krok bude obsahovat šablony projektů, které můžete použít k využívání modelu. Tento krok je volitelný a můžete zvolit metodu, která nejlépe vyhovuje vašim potřebám při poskytování modelu.
- Konzolová aplikace
- Webové rozhraní API
Konzolová aplikace
Když do řešení přidáte konzolovou aplikaci, zobrazí se výzva k pojmenování projektu.
Pojmenujte projekt konzoly LandUse_Console.
Kliknutím na Přidat do řešení přidejte projekt do aktuálního řešení.
Spusťte aplikaci.
Výstup vygenerovaný programem by měl vypadat podobně jako v následujícím fragmentu kódu:
Predicted Label value: AnnualCrop Predicted Label scores: [0.9941197,3.3146807E-06,4.4344174E-06,0.000101028825,7.763133E-06,0.0015898133,0.0040994748,1.6308518E-06,6.265567E-05,1.0236401E-05]
Webové rozhraní API
Při přidávání webového rozhraní API do vašeho řešení se zobrazí výzva k pojmenování projektu.
Pojmenujte projekt webového rozhraní API LandUse_API.
Kliknutím na Přidat do řešení přidejte projekt do aktuálního řešení.
Spusťte aplikaci.
Otevřete PowerShell a zadejte následující kód, kde PORT je port, na kterém vaše aplikace naslouchá.
$body = @{ ImageSource = <Image location on your local machine> } Invoke-RestMethod "https://localhost:<PORT>/predict" -Method Post -Body ($body | ConvertTo-Json) -ContentType "application/json"
Pokud je výstup úspěšný, měl by vypadat podobně jako v následujícím textu.
output1 prediction score ------- ---------- ----- {9.508701, -3.1025503, -2.8115153, 0.31449434...} AnnualCrop {0.9941197, 3.3146807E-06, 4.4344174E-06, 0.00010102882...
Vyčištění prostředků
Pokud už nemáte v úmyslu používat vytvořené prostředky Azure, odstraňte je. Tím zabráníte účtování za nevyužité prostředky, které stále běží.
- Přejděte na Azure portal a v nabídce portálu vyberte Resource groups.
- V seznamu skupin prostředků vyberte skupinu prostředků, kterou jste vytvořili. V tomto případě je to landuse-rg.
- Vyberte odstranit skupinu zdrojů.
- Do textového pole zadejte název skupiny prostředků "landuse-rg" a pak vyberte Enter.
Další kroky
V tomto kurzu jste se naučili:
- Příprava a pochopení dat
- Vytvoření konfiguračního souboru Tvůrce modelů
- Volba scénáře
- Načtení dat
- Vytvoření experimentu v Azure
- Trénování modelu
- Vyhodnocení modelu
- Spotřebování modelu
Vyzkoušejte jeden z dalších scénářů Tvůrce modelů: