Distribuera Machine Learning Studio-webbtjänster (klassiska) som använder moduler för dataimport och dataexport

GÄLLER FÖR:  Gäller för. Machine Learning Studio (klassisk)  Gäller inte för. Azure Machine Learning

Viktigt

Stödet för Machine Learning Studio (klassisk) slutar den 31 augusti 2024. Vi rekommenderar att du övergår till Azure Machine Learning det datumet.

Från och med 1 december 2021 kommer du inte att kunna skapa nya Machine Learning Studio-resurser (klassisk). Till och med den 31 augusti 2024 kan du fortsätta att använda de befintliga Machine Learning Studio-resurserna (klassisk).

ML Studio-dokumentationen (klassisk) håller på att dras tillbaka och kanske inte uppdateras i framtiden.

När du skapar ett förutsägelseexperiment lägger du vanligtvis till indata och utdata för webbtjänsten. När du distribuerar experimentet kan konsumenter skicka och ta emot data från webbtjänsten via indata och utdata. För vissa program kan en konsuments data vara tillgängliga från en datafeed eller redan finnas i en extern datakälla, till exempel Azure Blob Storage. I dessa fall behöver de inte läsa och skriva data med hjälp av webbtjänstens indata och utdata. De kan i stället använda Batch Execution Service (BES) för att läsa data från datakällan med hjälp av en importdatamodul och skriva bedömningsresultaten till en annan dataplats med hjälp av en Exportera data-modul.

Modulerna Importera data och Exportera data kan läsa från och skriva till olika dataplatser, till exempel en webb-URL via HTTP, en Hive-fråga, en databas i Azure SQL Database, Azure Table Storage, Azure Blob Storage, ett dataflöde eller en SQL Server-databas.

Det här avsnittet använder exemplet "Exempel 5: Träna, Testa, Utvärdera för binär klassificering: Adult Dataset" och förutsätter att datauppsättningen redan har lästs in i en Azure SQL-tabell med namnet censusdata.

Skapa träningsexperimentet

När du öppnar exemplet "Sample 5: Train, Test, Evaluate for Binary Classification: Adult Dataset" (Exempel 5: Träna, Testa, Utvärdera för binär klassificering: Adult Dataset) används exempeldatamängden Adult Census Income Binary Classification. Och experimentet på arbetsytan ser ut ungefär som på följande bild:

Inledande konfiguration av experimentet.

Så här läser du data från Azure SQL tabellen:

  1. Ta bort datauppsättningsmodulen.

  2. I sökrutan komponenter skriver du import.

  3. Lägg till en Import Data-modul i experimentets arbetsyta från resultatlistan.

  4. Anslut utdata från modulen Importera data indata för modulen Rensa data som saknas.

  5. I egenskapsfönstret väljer du Azure SQL Database i listrutan Datakälla.

  6. I fälten Databasservernamn, Databasnamn, Användarnamn och Lösenord anger du lämplig information för databasen.

  7. I fältet Databasfråga anger du följande fråga.

     select [age],
        [workclass],
        [fnlwgt],
        [education],
        [education-num],
        [marital-status],
        [occupation],
        [relationship],
        [race],
        [sex],
        [capital-gain],
        [capital-loss],
        [hours-per-week],
        [native-country],
        [income]
     from dbo.censusdata;
    
  8. Klicka på Kör längst ned på experimentarbetsytan.

Skapa förutsägelseexperimentet

Därefter ställer du in det förutsägelseexperiment som du distribuerar webbtjänsten från.

  1. Längst ned på arbetsytan för experimentet klickar du på Konfigurera webbtjänst och väljer Predictive Web Service [Recommended] ( Förutsägelsewebbtjänst [rekommenderas].
  2. Ta bort modulerna Webbtjänstindata och Webbtjänstutdata från förutsägelseexperimentet.
  3. I sökrutan komponenter skriver du export.
  4. I resultatlistan lägger du till en Export Data-modul (Exportera data) på experimentets arbetsyta.
  5. Anslut utdata från modulen Poängmodell indata för modulen Exportera data.
  6. I egenskapsfönstret väljer du Azure SQL Database i listrutan datamål.
  7. I fälten Databasservernamn, Databasnamn, Serveranvändarkontonamn och Lösenord för serveranvändarkonto anger du lämplig information för databasen.
  8. I den kommaavgränsade listan med kolumner som ska sparas skriver du Poängade etiketter.
  9. I fältet Datatabellnamn skriver du dbo. ScoredLabels. Om tabellen inte finns skapas den när experimentet körs eller webbtjänsten anropas.
  10. I fältet Kommaavgränsad lista över datatabellkolumner skriver du ScoredLabels.

När du skriver ett program som anropar den slutliga webbtjänsten kanske du vill ange en annan indatafråga eller måltabell vid körning. Om du vill konfigurera dessa indata och utdata använder du funktionen Web Service Parameters (Parametrar för webbtjänst) för att ange modulen Importera data-egenskapen Datakälla och datamålegenskapen Exportera dataläge. Mer information om webbtjänstparametrar finns i posten Machine Learning Studio-webbtjänstparametrar (klassisk) på Cortana Intelligence och Machine Learning blogg.

Så här konfigurerar du webbtjänstparametrarna för importfrågan och måltabellen:

  1. I egenskapsfönstret för modulen Importera data klickar du på ikonen längst upp till höger i fältet Databasfråga och väljer Ange som webbtjänstparameter.
  2. I egenskapsfönstret för modulen Exportera data klickar du på ikonen längst upp till höger i fältet Datatabellnamn och väljer Ange som webbtjänstparameter.
  3. Längst ned i egenskapsfönstret för modulen Exportera data går du till avsnittet Webbtjänstparametrar och klickar på Databasfråga och byter namn på den till Fråga.
  4. Klicka på Datatabellnamn och byt namn på den till Tabell.

När du är klar bör experimentet se ut ungefär som på följande bild:

Slutligt utseende på experimentet.

Nu kan du distribuera experimentet som en webbtjänst.

Distribuera webbtjänsten

Du kan distribuera till antingen en klassisk eller ny webbtjänst.

Distribuera en klassisk webbtjänst

Så här distribuerar du som en klassisk webbtjänst och skapar ett program för att använda den:

  1. Klicka på Kör längst ned på arbetsytan för experimentet.

  2. När körningen är klar klickar du på Distribuera webbtjänst och väljer Distribuera webbtjänst [klassisk].

  3. Leta upp DIN API-nyckel på instrumentpanelen för webbtjänsten. Kopiera och spara den för senare användning.

  4. I tabellen Standardslutpunkt klickar du på länken Batch-körning för att öppna API-hjälpsidan.

  5. I Visual Studio du ett C#-konsolprogram: New > Project > Visual C# Windows Classic > Desktop Console > App (.NET Framework).

  6. På API-hjälpsidan hittar du avsnittet Exempelkod längst ned på sidan.

  7. Kopiera och klistra in C#-exempelkoden i filen Program.cs och ta bort alla referenser till bloblagringen.

  8. Uppdatera värdet för variabeln apiKey med API-nyckeln som sparades tidigare.

  9. Leta upp begärandedeklarationen och uppdatera värdena för webbtjänstparametrar som skickas till modulerna Importera data och Exportera data. I det här fallet använder du den ursprungliga frågan, men definierar ett nytt tabellnamn.

    var request = new BatchExecutionRequest()
    {
        GlobalParameters = new Dictionary<string, string>() {
            { "Query", @"select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata" },
            { "Table", "dbo.ScoredTable2" },
        }
    };
    
  10. Kör appen.

När körningen är klar läggs en ny tabell till i databasen som innehåller bedömningsresultatet.

Distribuera en ny webbtjänst

Anteckning

Om du vill distribuera en ny webbtjänst måste du ha tillräcklig behörighet i prenumerationen som du distribuerar webbtjänsten till. Mer information finns i Hantera en webbtjänst med hjälp av Machine Learning Web Services-portalen.

Så här distribuerar du som en ny webbtjänst och skapar ett program för att använda den:

  1. Klicka på Kör längst ned på experimentarbetsytan.

  2. När körningen är klar klickar du på Distribuera webbtjänst och väljer Distribuera webbtjänst [Ny].

  3. På sidan Distribuera experiment anger du ett namn för webbtjänsten och väljer en prisplan och klickar sedan på Distribuera.

  4. På sidan Snabbstart klickar du på Förbruka.

  5. I avsnittet Exempelkod klickar du på Batch.

  6. I Visual Studio du ett C#-konsolprogram: New > Project > Visual C# Windows Classic > Desktop Console > App (.NET Framework).

  7. Kopiera och klistra in C#-exempelkoden i filen Program.cs.

  8. Uppdatera värdet för variabeln apiKey med primärnyckeln i avsnittet Grundläggande förbrukningsinformation.

  9. Leta upp deklarationen scoreRequest och uppdatera värdena för webbtjänstparametrar som skickas till modulerna Importera data och Exportera data. I det här fallet använder du den ursprungliga frågan, men definierar ett nytt tabellnamn.

    var scoreRequest = new
    {
        Inputs = new Dictionary<string, StringTable>()
        {
        },
        GlobalParameters = new Dictionary<string, string>() {
            { "Query", @"select [age], [workclass], [fnlwgt], [education], [education-num], [marital-status], [occupation], [relationship], [race], [sex], [capital-gain], [capital-loss], [hours-per-week], [native-country], [income] from dbo.censusdata" },
            { "Table", "dbo.ScoredTable3" },
        }
    };
    
  10. Kör appen.