Översikt över bildklassificering för Model Builder
Det här exemplet skapar C#-klassbibliotek som kategoriserar markanvändning från kartsatellitbilder med hjälp av en djupinlärningsmodell som tränats i Azure med Model Builder. Du hittar källkoden för den här självstudien på GitHub-lagringsplatsen dotnet/machinelearning-samples
Skapa ett C#-klassbibliotek
Skapa ett C#-klassbibliotek med namnet "LandUse".
Förbereda och förstå data
Anteckning
Data för den här självstudien kommer från:
Eurosat: En ny datauppsättning och djupinlärningsriktmärke för markanvändning och klassificering av markskydd. Patrick Helber, Benjamin Bischke, Andreas Dengel, Damian Borth. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2019.
Introduktion till EuroSAT: Ett nytt datauppsättnings- och djupinlärningsriktmärke för markanvändning och klassificering av markskydd. Patrick Helber, Benjamin Bischke, Andreas Dengel. 2018 IEEE International Geoscience and Remote Sensing Symposium, 2018.
EuroSAT-datamängden innehåller en samling satellitbilder indelade i tio kategorier (landsbygd, industri, flod osv.). Den ursprungliga datamängden innehåller 27 000 bilder. För enkelhetens skull använder den här självstudien endast 2 000 av dessa bilder.
När du först lägger till Model Builder i lösningen uppmanas du att skapa en mbconfig fil. Filen mbconfig håller reda på allt du gör i Model Builder så att du kan öppna sessionen igen.
I Solution Explorer högerklickar du på Projektet LandUse och väljer Lägg till > maskininlärningsmodell....
I dialogrutan namnger du Model Builder-projektet LandUse och klickar på Lägg till.
Välj ett scenario
För att träna din modell måste du välja från listan över tillgängliga maskininlärningsscenarier som tillhandahålls av Model Builder.
I det här exemplet är uppgiften bildklassificering. I scenariosteget i verktyget Model Builder väljer du scenariot Bildklassificering .
Välj en miljö
Model Builder kan köra träningen i olika miljöer beroende på vilket scenario som valdes.
Välj Azure som miljö och klicka på knappen Konfigurera arbetsyta .
Skapa experiment i Azure
Ett Azure Machine Learning-experiment är en resurs som måste skapas innan du kör Model Builder-träning i Azure.
Experimentet kapslar in konfigurationen och resultaten för en eller flera maskininlärningsträningskörningar. Experiment tillhör en specifik arbetsyta. Första gången ett experiment skapas registreras namnet på arbetsytan. Efterföljande körningar , om samma experimentnamn används, loggas som en del av samma experiment. Annars skapas ett nytt experiment.
I dialogrutan Skapa nytt experiment väljer du din prenumeration i listrutan Prenumeration .
Skapa arbetsyta
En arbetsyta är en Azure Machine Learning-resurs som tillhandahåller en central plats för alla Azure Machine Learning-resurser och artefakter som skapats som en del av en träningskörning.
I dialogrutan Skapa nytt experiment väljer du länken Nytt bredvid listrutan Machine Learning-arbetsytenamn .
I dialogrutan Skapa en ny arbetsyta skriver du "landuse-wkspc" i textrutan Machine Learning-arbetsytenamn .
Välj USA, östra i listrutan Regioner . En region är den geografiska platsen för det datacenter där din arbetsyta och dina resurser distribueras till. Vi rekommenderar att du väljer en plats nära där du eller dina kunder befinner sig.
Välj länken Ny bredvid listrutan Resursgrupper .
I dialogrutan Skapa ny resursgrupp skriver du "landuse-rg" i textrutan Resursgruppnamn .
Välj OK.
Välj din nyligen skapade resursgrupp i listrutan Resursgrupper .
Välj Skapa.
Etableringsprocessen tar några minuter. En begäran görs till Azure om att etablera följande molnresurser:
Azure Machine Learning-arbetsyta
Azure Storage-konto
Azure Application Insights
Azure Container Registry
Azure Key Vault
När etableringsprocessen är klar väljer du den nya arbetsytan i listrutan Machine Learning-arbetsytenamn i dialogrutan Skapa nytt experiment.
Skapa beräkning
En Azure Machine Learning-beräkning är en molnbaserad virtuell Linux-dator som används för träning.
I dialogrutan Skapa nytt experiment väljer du länken Nytt bredvid listrutan Beräkningsnamn .
I dialogrutan Skapa ny beräkning skriver du "landuse-cpt" i textrutan Beräkningsnamn .
Välj Standard_NC24 i listrutan Beräkningsstorlek . Model Builder använder GPU-optimerade beräkningstyper. Mer information om GPU-optimerade beräkningstyper finns i dokumentationen om virtuella Linux-datorer i NC-serien .
Välj Skapa. Det kan ta några minuter att etablera beräkningsresurserna.
När etableringsprocessen är klar väljer du den nya arbetsytan i listrutan Beräkningsnamn i dialogrutan Skapa nytt experiment.
Välj knappen Nästa steg för att läsa in data.
Läsa in data
I datasteget i verktyget Model Builder väljer du knappen bredvid textrutan Välj en mapp .
Använd Utforskaren för att bläddra och välja den uppackade katalogen som innehåller bilderna.
Välj knappen Nästa steg för att gå vidare till nästa steg i verktyget Model Builder.
Träna modellen
Träning i Azure är endast tillgängligt för scenariot för model builder-avbildningsklassificering. Algoritmen som används för att träna dessa modeller är ett djupt neuralt nätverk baserat på ResNet50-arkitekturen. Under modellträningsprocessen tränar Model Builder separata modeller med Hjälp av ResNet50-algoritmen och inställningar för att hitta den bäst presterande modellen för din datauppsättning.
Starta träningen
När du har konfigurerat arbetsytan och beräkningstypen är det dags att slutföra experimentet och börja träna.
Klicka på knappen Starta träning .
Träningsprocessen tar lite tid och tiden kan variera beroende på storleken på den beräkning som valts samt mängden data. Första gången en modell tränas kan du förvänta dig en något längre träningstid eftersom resurser måste etableras. Du kan spåra förloppet för dina körningar genom att välja länken Övervaka aktuell körning i Azure Portal i Visual Studio.
Under hela träningsprocessen visas förloppsdata i avsnittet Förlopp i träningssteget.
Status visar slutförandestatus för träningsprocessen.
Bästa noggrannhet visar noggrannheten för den modell med bäst prestanda som model builder har hittat hittills. Högre noggrannhet innebär att modellen förutsägs mer korrekt på testdata.
Algoritmen visar namnet på den algoritm med bäst prestanda som har hittats av Model Builder hittills.
När träningen är klar väljer du knappen Nästa steg för att gå vidare för att utvärdera modellen.
Utvärdera modellen
Resultatet av träningssteget är en modell som hade bästa prestanda. I utvärderingssteget i verktyget Model Builder innehåller fliken Information i utdataavsnittet den algoritm som används av den bäst presterande modellen i posten Algoritm tillsammans med mått i noggrannhetsposten i informationen om bästa modell .
Om du inte är nöjd med dina noggrannhetsmått är några enkla sätt att försöka förbättra modellens noggrannhet att använda mer data eller utöka befintliga data. Annars väljer du knappen Nästa steg för att gå vidare till det sista steget i verktyget Model Builder.
(Valfritt) Använda modellen
Det här steget innehåller projektmallar som du kan använda för att använda modellen. Det här steget är valfritt och du kan välja den metod som bäst passar dina behov för hur modellen ska hanteras.
Konsolapp
Webb-API
Konsolapp
När du lägger till en konsolapp i din lösning uppmanas du att namnge projektet.
Ge konsolprojektet namnet LandUse_Console.
Klicka på Lägg till i lösning för att lägga till projektet i den aktuella lösningen.
Kör appen.
Utdata som genereras av programmet bör se ut ungefär som kodfragmentet nedan:
Om du inte längre planerar att använda de Azure-resurser som du skapade tar du bort dem. På så sätt kan du inte debiteras för outnyttade resurser som fortfarande körs.
Gå till Azure Portal och välj Resursgrupper på portalmenyn.
I listan över resursgrupper väljer du den resursgrupp som du skapade. I det här fallet är det "landuse-rg".
Välj Ta bort resursgrupp.
Skriv resursgruppens namn, "landuse-rg", i textrutan och välj sedan Retur.
Nästa steg
I den här självstudiekursen lärde du dig att:
Förbereda och förstå data
Skapa en model builder-konfigurationsfil
Välj ett scenario
Läsa in data
Skapa ett experiment i Azure
Träna modellen
Utvärdera modellen
Använda modellen
Prova något av de andra Model Builder-scenarierna:
Källan för det här innehållet finns på GitHub, där du även kan skapa och granska ärenden och pull-begäranden. Se vår deltagarguide för mer information.
Feedback om .NET
.NET är ett öppen källkod projekt. Välj en länk för att ge feedback:
Hantera datainmatning och förberedelse, modellträning och distribution samt övervakning av maskininlärningslösningar med Python, Azure Machine Learning och MLflow.
Den här självstudien visar hur du skapar ett Razor Pages-program som klassificerar sentiment från webbplatskommentarer och vidtar lämplig åtgärd. Klassificeringen använder scenariot Textklassificering i Visual Studio-tillägget Model Builder.
Den här självstudien visar hur du skapar en klassificeringsmodell med flera klasser med ML.NET Model Builder för att klassificera allvarlighetsgraden för överträdelser av restauranghälsa i San Francisco.
Den här självstudien visar hur du skapar en objektidentifieringsmodell med hjälp av ML.NET Model Builder och Azure ML för att identifiera stopptecken i avbildningar.