Dela via


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) 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 modul för exportdata.

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 dataflödesserver eller en SQL Server-databas.

Det här avsnittet använder exemplet "Sample 5: Train, Test, Evaluate for Binary Classification: Adult Dataset" och förutsätter att datamängden 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" används exempeldatauppsättningen Adult Census Income Binary Classification. Experimentet på arbetsytan ser ut ungefär så här:

Inledande konfiguration av experimentet.

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

  1. Ta bort datamängdsmodulen.

  2. I sökrutan komponenter skriver du import.

  3. I resultatlistan lägger du till en importdatamodul till experimentarbetsytan.

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

  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

Sedan konfigurerar du det förutsägelseexperiment som du distribuerar webbtjänsten från.

  1. Längst ned på experimentarbetsytan klickar du på Konfigurera webbtjänst och väljer Förutsägelsewebbtjänst [Rekommenderas].
  2. Ta bort modulerna Indata för webbtjänst och webbtjänstutdata från förutsägelseexperimentet.
  3. I sökrutan komponenter skriver du export.
  4. I resultatlistan lägger du till en exportdatamodul till 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 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 ö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 och egenskapen Exportera dataläge för datamål. Mer information om webbtjänstparametrar finns i posten Machine Learning Studio (klassiska) Webbtjänstparametrar i Cortana Intelligence och 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 fönstret Exportera datamodulegenskaper i avsnittet Webbtjänstparametrar klickar du på Databasfråga och byter namn på frågan.
  4. Klicka på Datatabellens namn och byt namn på den till Tabell.

När du är klar bör experimentet se ut ungefär så här:

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å experimentarbetsytan.

  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. I Visual Studio skapar 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 din Program.cs-fil och ta bort alla referenser till bloblagringen.

  8. Uppdatera värdet för apiKey-variabeln 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 programmet.

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

Distribuera en ny webbtjänst

Kommentar

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 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. I Visual Studio skapar du ett C#-konsolprogram: New>Project>Visual C#>Windows Classic Desktop>Console App (.NET Framework).

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

  8. Uppdatera värdet för apiKey-variabeln 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 programmet.