Dela via


Träna en bildklassificeringsmodell i Azure med Hjälp av Model Builder

Lär dig hur du tränar en bildklassificeringsmodell i Azure med Hjälp av Model Builder för att kategorisera markanvändning från satellitbilder.

Den här självstudien visar hur du skapar ett C#-klassbibliotek för att kategorisera markanvändning baserat på satellitbilder med Model Builder.

I den här kursen får du:

  • 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

Krav

Ö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.

Datamängd

  1. Ladda ned delmängden av EuroSAT-datauppsättningen och spara den var som helst på datorn.
  2. Packa upp den.

Skapa en model builder-konfigurationsfil

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.

  1. I Solution Explorer högerklickar du på Projektet LandUse och väljer Lägg till > maskininlärningsmodell....
  2. I dialogrutan namnger du Model Builder-projektet LandUse och klickar på Lägg till.

Välj ett scenario

Scenarioskärm för Model Builder

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.

  1. I dialogrutan Skapa nytt experiment väljer du länken Nytt bredvid listrutan Machine Learning-arbetsytenamn .

  2. I dialogrutan Skapa en ny arbetsyta skriver du "landuse-wkspc" i textrutan Machine Learning-arbetsytenamn .

  3. 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.

  4. Välj länken Ny bredvid listrutan Resursgrupper .

    1. I dialogrutan Skapa ny resursgrupp skriver du "landuse-rg" i textrutan Resursgruppnamn .
    2. Välj OK.
  5. Välj din nyligen skapade resursgrupp i listrutan Resursgrupper .

  6. 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
  7. 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.

  1. I dialogrutan Skapa nytt experiment väljer du länken Nytt bredvid listrutan Beräkningsnamn .
  2. I dialogrutan Skapa ny beräkning skriver du "landuse-cpt" i textrutan Beräkningsnamn .
  3. 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 .
  4. Välj Skapa. Det kan ta några minuter att etablera beräkningsresurserna.
  5. När etableringsprocessen är klar väljer du den nya arbetsytan i listrutan Beräkningsnamn i dialogrutan Skapa nytt experiment.
  6. Välj knappen Nästa steg för att läsa in data.

Läsa in data

  1. I datasteget i verktyget Model Builder väljer du knappen bredvid textrutan Välj en mapp .
  2. Använd Utforskaren för att bläddra och välja den uppackade katalogen som innehåller bilderna.
  3. 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.

  1. 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.
  2. 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.

  1. Ge konsolprojektet namnet LandUse_Console.

  2. Klicka på Lägg till i lösning för att lägga till projektet i den aktuella lösningen.

  3. Kör appen.

    Utdata som genereras av programmet bör se ut ungefär som kodfragmentet nedan:

    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]
    

Webb-API

När du lägger till ett webb-API i din lösning uppmanas du att namnge projektet.

  1. Ge webb-API-projektet namnet LandUse_API.

  2. Klicka på Lägg till i lösning för att lägga till projektet i den aktuella lösningen.

  3. Kör appen.

  4. Öppna PowerShell och ange följande kod där PORT är den port som programmet lyssnar på.

    $body = @{
         ImageSource = <Image location on your local machine>
    }
    
     Invoke-RestMethod "https://localhost:<PORT>/predict" -Method Post -Body ($body | ConvertTo-Json) -ContentType "application/json"
    
  5. Om det lyckas bör utdata se ut ungefär som texten nedan.

    output1                                           prediction score
    -------                                           ---------- -----
    {9.508701, -3.1025503, -2.8115153, 0.31449434...} AnnualCrop {0.9941197, 3.3146807E-06, 4.4344174E-06, 0.00010102882...
    

Rensa resurser

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.

  1. Gå till Azure Portal och välj Resursgrupper på portalmenyn.
  2. I listan över resursgrupper väljer du den resursgrupp som du skapade. I det här fallet är det "landuse-rg".
  3. Välj Ta bort resursgrupp.
  4. 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: