Trénování modelu pomocí ML.NET

V předchozí fázi tohoto kurzu jsme probrali požadavky na vytvoření vlastního modelu a aplikace služby Windows Machine Learning a stáhli sadu obrázků, která se má použít. V této fázi se dozvíte, jak pomocí nástroje ML.NET Model Builder převést sadu obrázků na model klasifikace obrázků.

Vytvoření projektu

  1. Otevřete Visual Studio a zvolte Vytvořit nový projekt.

Vytvoření nového projektu pro Tvůrce modelů

  1. Na panelu hledání zadejte .NET, vyberte jazyk C# jako jazyk a konzolu jako platformu a pak zvolte šablonu projektu konzolové aplikace C#(.NET Core).

Vytvoření nového projektu .NET

  1. V okně konfigurace:
  • Pojmenujte projekt. Tady jsme ji nazvali MLNETTraining.
  • Zvolte umístění projektu.
  • Ujistěte se, že Place solution and project in the same directory není zaškrtnuto.
  • Stisknutím create vytvoříte projekt.

Konfigurace nového projektu

Nastavení Tvůrce modelů

Teď do projektu přidáte Tvůrce modelů.

  1. V Průzkumníku řešení klikněte pravým tlačítkem na projekt MLNETTraining a vyberte Add > Machine Learning.

Přidání strojového učení do projektu

Tímto způsobem otevřete tvůrce modelů ML.NET v novém ukotveném okně nástroje v sadě Visual Studio. Tvůrce modelů vás provede procesem vytvoření modelu strojového učení.

Seznam scénářů tvůrce modelů

Prvním krokem je volba relevantního scénáře. Ne všechny scénáře podporují formát ONNX.

Pokud je trénovací prostředí v cloudu Azure, vygenerované modely jsou ve formátu ONNX a dají se snadno využívat aplikací Windows ML bez převodu. Pokud se ale rozhodnete vytrénovat model strojového učení místně na počítači, vygenerovaný model bude ve ML.NET formátu.

  • Místní trénování procesoru se podporuje ve všech scénářích s výjimkou rozpoznávání objektů.
  • Místní trénink GPU pro klasifikaci obrázků je podporován.
  • Trénování v Azure se podporuje pro klasifikaci obrázků a detekci objektů.

V tomto kurzu budete trénovat model klasifikace obrázků v trénovacím prostředí Azure. Výstupní model bude ve formátu ONNX. K dokončení trénování se vyžaduje účet Azure.

  1. Zvolte scénář klasifikace obrázků.

  2. Vyberte Nastavit pracovní prostor a nastavte trénovací prostředí Azure.

Nastavení pracovního prostoru Azure

V pravém horním rohu se přihlaste k účtu přidruženému k vašemu předplatnému Azure. V nabídce níže:

  • Zvolte příslušné předplatné.
  • Vyberte a vytvořte nový pracovní prostor Machine Learning.
  • Vyberte nebo vytvořte nový výpočetní prostředek.
  • Pojmenujte svůj pracovní prostor – ImageClassificationMLNET.

Konfigurace pracovního prostoru Azure

Důležité

Pokud nemůžete vytvořit pracovní prostor Machine Learning z Tvůrce modelů, pomocí těchto kroků vytvořte pracovní prostor ručně z webu Azure Portal. V opačném případě můžete přeskočit ke kroku 4.

V účtu Azure vyberte Vytvořit prostředek:

Dostupné prostředky Azure

Na panelu hledání vyhledejte Machine Learning.

Hledání služby Machine Learning v seznamu prostředků Azure

Stisknutím klávesy Vytvořit vytvořte nový pracovní prostor Machine Learning.

Prostředek Azure Machine Learning

Pokud chcete vytvořit nový pracovní prostor, budete muset zadat název vašeho předplatného, vybrat nebo vytvořit novou skupinu prostředků, pojmenovat pracovní prostor a definovat všechny požadované parametry, jako je oblast, účet úložiště atd.

Nastavení pracovního prostoru Azure ML

Po vytvoření pracovního prostoru a vytvoření nového trénovacího prostředí v ML.NET můžete přejít k dalšímu kroku.

Prostředí pro trénování ML.NET

Počkejte na dokončení nasazení služby Machine Learning Services.

Dalším krokem je přidání dat do Tvůrce modelů.

  1. Přejděte do umístění datové sady obrázků a vyberte trénovací složku s příslušnými kategoriemi potravin. V tomto kurzu vytrénujete model tak, aby rozpoznal poušti, polévku a ovoce, takže v naší složce datové sady potřebujete jenom tyto kategorie.

Přidání dat do modelu ML

Teď jste připraveni přejít na trénovací část!

Trénování modelu

Tvůrce modelů vyhodnocuje mnoho modelů s různými algoritmy a nastavením, abyste získali model s nejlepším výkonem.

  1. Vyberte další a pak kliknutím na Zahájit trénink zahajte proces tréninku. Tvůrce modelů ML.Net začne tím, že nahraje data do Azure, připraví pracovní prostor a zahájí proces trénování.

Trénování modelu strojového učení

Po dokončení trénování se zobrazí souhrn výsledků trénování.

Úspěšné trénování modelu

Nejlepší přesnost – ukazuje přesnost nejlepšího modelu, který tvůrce modelů našel. Vyšší přesnost znamená, že model předpověděl správně na testovacích datech. V našem případě model dokáže predikovat správný výsledek s 95,42% spolehlivosti.

Vyhodnocení výsledků

  1. Přesunutím dalšího kroku vyhodnotíte výsledky trénování.

  2. Vyberte obrázek ze složky vyhodnocení datové sady a prozkoumejte predikci.

Výsledky vyhodnocení modelu

Přidání modelu do řešení

ML.NET Model Builder může do vašeho řešení automaticky přidat model strojového učení i projekty pro trénování a využívání modelu.

  1. Přejděte k fázi konzumace v tréninkovém procesu a přidejte ji do řešení. Tím se do složky řešení přidá vygenerovaný model.

Přidání modelu do řešení

V Průzkumníku řešení byste měli vidět soubory kódu vygenerované Tvůrcem modelů, včetně modelu – bestModel.onnx ve formátu ONNX.

Váš model zobrazený v Průzkumníku řešení

Model vytrénovaný v cloudovém prostředí Azure, takže vygenerovaný model je ve formátu ONNX.

Prozkoumání modelu

  1. Klikněte pravým tlačítkem myši na bestModel.onnx a vyberte Otevřít obsahující složku.

  2. Otevřete soubor modelu pomocí programu Netron.

  3. Stisknutím tlačítka na uzlu Input1 otevřete vlastnosti modelu.

Prozkoumání vlastností modelu

Jak je vidět, model jako vstup vyžaduje 32bitový objekt tensoru float (multidimenzionální pole) a vrací tensor float jako výstup. Způsob vytvoření modelu nevrací řetězcovou hodnotu předpovězeného popisku, ale pole tří čísel, z nichž každá představuje příslušný popisek typu potraviny. Abyste mohli zobrazit správnou předpověď v aplikaci Windows ML, budete muset tyto hodnoty extrahovat.

Popisek 1 Popisek 2 Popisek 3
0 1 2
zákusek polévka Vegetable-Fruit

Další kroky

Teď, když jste vytrénovali model Machine Learning, jste připraveni ho nasadit v aplikaci pro UPW pomocí služby Windows Machine Learning.