Dela via


Träna din modell med ML.NET

I föregående steg i den här självstudien diskuterade vi förutsättningarna för att skapa en egen Windows Machine Learning-modell och -app och laddade ned en bilduppsättning som ska användas. I det här steget lär vi oss hur du använder ML.NET Model Builder för att omvandla vår bilduppsättning till en bildklassificeringsmodell.

Skapa projektet

  1. Öppna Visual Studio och välj "skapa ett nytt projekt".

Skapa ett nytt projekt för Model Builder

  1. I sökfältet skriver du .NET, väljer C# som språk och konsol som plattform och väljer sedan projektmallen C# Console App (.NET Core).

Skapa ett nytt .NET-projekt

  1. I konfigurationsfönstret:
  • Ge projektet ett namn. Här har vi kallat det MLNETTraining.
  • Välj platsen för projektet.
  • Kontrollera att Place solution and project in the same directory är avmarkerat.
  • Tryck create för att skapa projektet.

Konfigurera ditt nya projekt

Konfigurera Model Builder

Nu ska du lägga till Model Builder i vårt projekt.

  1. Högerklicka på MLNETTraining-projektet i Solution Explorer och välj Add > Machine Learning.

Lägga till maskininlärning i projektet

På så sätt öppnar du ML.NET Model Builder i ett nytt dockat verktygsfönster i Visual Studio. Model Builder vägleder dig genom processen att skapa en maskininlärningsmodell.

Lista över scenarier för modellbyggare

Det första steget är att välja det relevanta scenariot. Alla scenarier stöder inte ONNX-format.

Om träningsmiljön är Azure-moln är de genererade modellerna i ONNX-format och kan enkelt användas av Windows ML-appen utan konvertering. Men om du bestämmer dig för att träna maskininlärningsmodellen lokalt på datorn kommer den genererade modellen att vara i ML.NET format.

  • Lokal CPU-utbildning stöds för alla scenarier utom objektidentifiering.
  • Lokal GPU-utbildning stöds för bildklassificering.
  • Azure-utbildning stöds för bildklassificering och objektidentifiering.

I den här självstudien tränar du bildklassificeringsmodellen i Azure-träningsmiljön. Utdatamodellen kommer att vara i ONNX-format. Azure-kontot krävs för att slutföra utbildningen.

  1. Välj bildklassificeringsscenario.

  2. Välj Konfigurera arbetsyta för att konfigurera din Azure-träningsmiljö.

Konfigurera din Azure-arbetsyta

Logga in på det konto som är associerat med din Azure-prenumeration i det övre högra hörnet. I menyn nedan:

  • Välj relevant prenumeration.
  • Välj och skapa en ny Machine Learning-arbetsyta.
  • Välj eller skapa en ny Beräkningsresurs.
  • Ge namnet till din arbetsyta – ImageClassificationMLNET.

Konfigurera din Azure-arbetsyta

Viktigt!

Om du inte kan skapa Machine Learning-arbetsytan från Model Builder följer du de här stegen för att skapa en arbetsyta manuellt från Azure-portalen. Annars kan du gå vidare till steg 4.

På ditt Azure-konto väljer du Skapa en resurs:

Tillgängliga Azure-resurser

I sökfältet, leta efter 'maskininlärning'.

Sök efter Machine Learning i Azure-resurslistan

Tryck på Skapa för att skapa en ny Machine Learning-arbetsyta.

Azure Machine Learning-resursen

Om du vill skapa en ny arbetsyta måste du ange ditt prenumerationsnamn, välja eller skapa en ny resursgrupp, ge arbetsytan ett namn och definiera alla nödvändiga parametrar, till exempel region, lagringskonto osv.

Konfigurera din Azure ML-arbetsyta

När du har upprättat din arbetsyta och skapat en ny träningsmiljö i ML.NET kan du gå vidare till nästa steg.

Träningsmiljön för ML.NET

Vänta tills distributionen av Machine Learning Services är klar.

Nästa steg är att lägga till data i Model Builder.

  1. Navigera till platsen för bilddatauppsättningen och välj träningsmappen med relevanta matkategorier. I den här självstudien tränar du modellen att känna igen dessert, soppa och frukt, så du behöver bara dessa kategorier i din datauppsättningsmapp.

Lägga till data i ML-modellen

Nu är du redo att gå vidare till träningsdelen!

Träna din modell

Model Builder utvärderar många modeller med varierande algoritmer och inställningar för att ge dig den modell som fungerar bäst.

  1. Välj nästa och starta sedan träningen för att starta träningsprocessen. Den ML.Net modellbyggaren börjar med att ladda upp data till Azure, förbereda arbetsytan och sedan starta träningsprocessen.

Träna maskininlärningsmodellen

När träningen är klar visas en sammanfattning av träningsresultaten.

Lyckad modellträning

Bästa noggrannhet – visar noggrannheten för den bästa modellen som Model Builder hittade. Högre noggrannhet innebär att modellen förutsägs mer korrekt på testdata. I vårt fall kan modellen förutsäga rätt resultat med 95,42% konfidens.

Utvärdera resultatet

  1. Flytta nästa steg för att utvärdera träningsresultatet.

  2. Välj bilden från utvärderingsmappen för datauppsättningen och utforska förutsägelsen.

Modellutvärderingsresultat

Lägg till modellen i lösningen

ML.NET Model Builder kan automatiskt lägga till både maskininlärningsmodellen och projekten för träning och användning av modellen i din lösning.

  1. Gå till konsumtionsdelen av träningsprocessen och sälj 'Lägg till i lösning'. Då läggs den genererade modellen till i din lösningsmapp.

Lägga till din modell i din lösning

I Solution Explorer bör du se kodfilerna som genererades av Model Builder, inklusive modellen – bestModel.onnx i ONNX-format.

Din modell som visas i Solution Explorer

Modellen tränas i Azure-molnmiljö, så den genererade modellen är i ONNX-format.

Utforska din modell

  1. Högerklicka på bestModel.onnx och välj Öppna innehållande mapp.

  2. Öppna modellfilen med Netron-programmet.

  3. Tryck på indata1-noden för att öppna modellegenskaperna.

Utforska egenskaperna för din modell

Som du ser kräver modellen ett 32-bitars flyttals tensor-objekt (flerdimensionell matris) som indata och returnerar Tensor-flyttal som utdata. På det sätt som modellen skapades returnerar den inte strängvärdet för en förutsagd etikett utan en matris med tre tal, var och en representerar den relevanta etiketten för livsmedelstypen. Du måste extrahera dessa värden för att visa rätt förutsägelse med Windows ML-appen.

Etikett 1 Etikett 2 Etikett 3
0 1 2
efterrätt soppa Vegetable-Fruit

Nästa steg

Nu när du har tränat din Machine Learning-modell är du redo att distribuera den i en UWP-app med Windows Machine Learning