Distribuera Machine Learning Studio-webbtjänster (klassisk) 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) upphör den 31 augusti 2024. Vi rekommenderar att du byter till Azure Machine Learning innan dess.

Från och med den 1 december 2021 kan du inte längre skapa nya Machine Learning Studio-resurser (klassisk). Du kan fortsätta att använda befintliga Machine Learning Studio-resurser (klassisk) till och med den 31 augusti 2024.

Dokumentationen om ML Studio (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 ett dataflöde 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 indata och utdata för webbtjänsten. 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ömningsresultatet till en annan dataplats med hjälp av en exportdatamodul.

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, en datafeed eller en SQL Server databas.

I det här avsnittet används exemplet "Sample 5: Train, Test, Evaluate for Binary Classification: 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: Vuxendatamängd) används datamängden Adult Census Income Binary Classification (Exempel på binär klassificering för vuxna). Och experimentet på arbetsytan ser ut ungefär som i följande bild:

Inledande konfiguration av experimentet.

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

  1. Ta bort datauppsättningsmodulen.

  2. I sökrutan komponenter skriver du import.

  3. Lägg till en Import Data-modul i experimentarbetsytan i resultatlistan.

  4. Anslut utdata från modulen Importera data till indata för modulen Rensa saknade data .

  5. I egenskapsfönstret väljer du Azure SQL Databas 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å arbetsytan för experimentet.

Skapa förutsägelseexperimentet

Därefter konfigurerar du 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 Förutsägelsewebbtjänst [Rekommenderas].
  2. Ta bort modulerna Web Service Input och Web Service Output från förutsägelseexperimentet.
  3. I sökrutan komponenter skriver du export.
  4. I resultatlistan lägger du till en Export Data-modul på experimentarbetsytan.
  5. Anslut utdata från modulen Score Model (Poängsätt modell ) som indata för modulen Exportera data .
  6. I egenskapsfönstret väljer du Azure SQL Databas i listrutan för 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 över kolumner som ska sparas skriver du Poängsatta 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 Webbtjänstparametrar för att ange egenskapen Importera datakälla för modulen Datakälla och datamålegenskapen Exportera dataläge . Mer information om webbtjänstparametrar finns i posten Machine Learning Studio (klassiska) Webbtjänstparametrar i Cortana Intelligence and Machine Learning-bloggen.

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 frågefältet Databas 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 exportera data klickar du på Databasfråga i avsnittet Webbtjänstparametrar och byter namn på den till Fråga.
  4. Klicka på Datatabellens namn och byt namn på den till Tabell.

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

Sista utseendet 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 har slutförts 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. Skapa ett C#-konsolprogram i Visual Studio: 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 machine learning-webbtjänstportalen.

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å arbetsytan för experimentet.

  2. När körningen har slutförts 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. Skapa ett C#-konsolprogram i Visual Studio: 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 scoreRequest-deklarationen 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.