Klasifikace obrázků pomocí ML.NET a služby Windows Machine Learning

Tok klasifikace obrázků

V této příručce se dozvíte, jak trénovat model neurální sítě pro klasifikaci obrázků potravin pomocí nástroje ML.NET Model Builder, exportování modelu do formátu ONNX a nasazení modelu v aplikaci Windows Machine Learning spuštěné místně na zařízení s Windows. Nevyžaduje se žádné předchozí znalosti strojového učení a provedeme vás krok za krokem.

Pokud se chcete naučit vytvářet a trénovat model pomocí nástroje ML.NET Model Builder, můžete pokračovat k trénování modelu.

Pokud máte model a chcete se dozvědět, jak vytvořit úplně novou aplikaci WinML, přejděte k kompletnímu kurzu aplikace WinML.

Pokud chcete získat předdefinované řešení pro aplikaci WinML, můžete soubor řešení naklonovat a otestovat ho hned.

Scénář

V tomto kurzu vytvoříme aplikaci pro klasifikaci potravin strojového učení, která běží na zařízeních s Windows. Model se vytrénuje tak, aby rozpoznal určité typy vzorů pro klasifikaci obrázku potravin a po zadání obrázku vrátí klasifikační značku a přidruženou procentuální hodnotu spolehlivosti dané klasifikace.

Předpoklady pro trénování modelu

K sestavení a trénování modelu použijete ML.NET Model Buider v sadě Visual Studio.

  • K použití tvůrce modelů ML.NET budete potřebovat Visual Studio 2019 16.6.1 nebo novější. Visual Studio získáte tady.
  • K trénování modelu pomocí nástroje ML.NET Model Builder v pracovním prostoru Azure ML budete potřebovat účet Azure. Pokud s Azure začínáte, můžete si zaregistrovat bezplatný účet Azure.

Poznámka:

Zajímá vás další informace o možnostech registrace Azure a bezplatných účtech Azure? Podívejte se na Vytvoření účtu Azure.

ML.NET Model Builder je intuitivní grafické rozšíření sady Visual Studio, které slouží k vytváření, trénování a nasazování vlastních modelů strojového učení. Využívá automatizované strojové učení (AutoML) k prozkoumání různých algoritmů a nastavení strojového učení, které vám pomůže najít ten, který nejlépe vyhovuje vašemu scénáři.

ML.NET Tvůrce modelů se dodává se sadou Visual Studio verze 16.6.1 nebo novější, když nainstalujete některou z úloh .NET. Při stahování nebo úpravě sady Visual Studio nezapomeňte v instalačním programu zaškrtnout součást ML.NET Model Builder. Pokud chcete zkontrolovat, jestli má váš VS součásti ML.NET Tvůrce modelů, přejděte na Rozšíření a vyberte Spravovat rozšíření. Pokud chcete zkontrolovat výsledky rozšíření, zadejte Tvůrce modelů na panelu hledání.

Rozšíření Tvůrce modelů

ML.NET Model Builder je aktuálně funkce Preview. Abyste mohli tento nástroj používat, musíte v sadě Visual Studio přejít na > Nástroje > Možnosti > prostředí Náhledové funkce a povolit Tvůrce modelů ML.NET:

Povolení rozšíření tvůrce modelů

Poznámka:

Zajímá vás další informace o nástroji ML.NET Model Builder a různých scénářích, které podporuje? Projděte si dokumentaci k Tvůrci modelů.

Požadavky pro nasazení aplikace Windows ML

K vytvoření a nasazení aplikace Vdova ML budete potřebovat následující:

  • Windows 10 verze 1809 (build 17763) nebo novější Číslo verze sestavení můžete zkontrolovat spuštěním winver příkazu (Windows logo key + R)Spustit .
  • Windows SDK pro build 17763 nebo vyšší Tady můžete získat sadu SDK.
  • Visual Studio 2019 verze 16.6.1 nebo novější Visual Studio získáte tady.
  • Rozšíření Windows ML Code Generator (mlgen) pro Visual Studio. Stáhnout pro VS 2019.
  • Pokud se rozhodnete vytvořit aplikaci pro UPW, budete muset v sadě Visual Studio povolit úlohu vývoje pro univerzální platformu Windows.
  • Budete také muset povolit vývojářský režim na počítači.

Poznámka:

Rozhraní API pro Windows ML jsou integrovaná do nejnovějších verzí Windows 10 (1809 nebo novějších) a Windows Serveru 2019. Pokud je vaše cílová platforma starší verze Windows, můžete aplikaci WinML přenést do distribuovatelného balíčku NuGet (Windows 8.1 nebo vyšší).

Příprava dat

Modely strojového učení musí být natrénovány s existujícími daty. V této příručce použijete datovou sadu obrázků potravin z Kaggle Open Datasets. Tato datová sada se distribuuje v rámci licence veřejné domény.

Důležité

Pokud chcete tuto datovou sadu použít, musíte dodržovat termín použití webu Kaggle a termínů liscence, které jsou doprovodné samotnou datovou sadou Food-11. Společnost Microsoft neposkytuje žádnou záruku ani vyjádření týkající se webu nebo této datové sady.

Datová sada má tři rozdělení – vyhodnocení, trénování a ověření – a obsahuje 16643 obrázků potravin seskupených do 11 hlavních kategorií potravin. Obrázky v datové sadě každé kategorie potravin jsou umístěny do samostatné složky, což usnadňuje proces trénování modelu.

Tady si stáhněte datovou sadu. Upozorňujeme, že datová sada má velikost přibližně 1 GB a můžete být požádáni o vytvoření účtu na webu Kaggle ke stažení dat.

Datová sada obrázků potravin

Pokud chcete, můžete použít jakoukoli jinou datovou sadu relevantních obrázků. Jako minimum doporučujeme použít alespoň 30 obrázků na značku v počáteční trénovací sadě. Po natrénování modelu budete také chtít shromáždit několik dalších obrázků k otestování modelu.

Kromě toho se ujistěte, že všechny trénovací obrázky splňují následující kritéria:

  • formát .jpg, .png, .bmpnebo .gif.
  • velikost maximálně 6 MB (4 MB pro obrázky pro předpověď).
  • Minimálně 256 pixelů na nejkratším okraji; jakékoli obrázky kratší než to budou automaticky škálovány službou Custom Vision Service.

Další kroky

Teď, když jste vyřešili požadavky a připravili datovou sadu, můžete pokračovat vytvořením modelu WinML. V další části použijete tvůrce modelů ML.NET k vytvoření a trénování klasifikačního modelu.