Udostępnij za pośrednictwem


Wdrażanie usług internetowych usługi Machine Learning Studio (klasycznych), które używają modułów importowania danych i eksportowania danych

DOTYCZY:Dotyczy. Usługa Machine Learning Studio (klasyczna) nie ma zastosowania.Azure Machine Learning

Ważne

Obsługa programu Machine Learning Studio (wersja klasyczna) zakończy się 31 sierpnia 2024 r. Zalecamy przejście do usługi Azure Machine Learning przed tym terminem.

Od 1 grudnia 2021 r. nie będzie można tworzyć nowych zasobów programu Machine Learning Studio (wersja klasyczna). Do 31 sierpnia 2024 r. można będzie nadal korzystać z istniejących zasobów programu Machine Learning Studio (wersja klasyczna).

Dokumentacja programu ML Studio (wersja klasyczna) jest wycofywana i może nie być aktualizowana w przyszłości.

Podczas tworzenia eksperymentu predykcyjnego zazwyczaj dodaje się dane wejściowe i wyjściowe usługi internetowej. Podczas wdrażania eksperymentu konsumenci mogą wysyłać i odbierać dane z usługi internetowej za pośrednictwem danych wejściowych i wyjściowych. W przypadku niektórych aplikacji dane użytkownika mogą być dostępne z źródła danych lub znajdują się już w zewnętrznym źródle danych, takim jak usługa Azure Blob Storage. W takich przypadkach nie muszą odczytywać i zapisywać danych przy użyciu danych wejściowych i wyjściowych usługi internetowej. Zamiast tego mogą użyć usługi Batch Execution Service (BES), aby odczytywać dane ze źródła danych przy użyciu modułu Import Data (Import Data) i zapisywać wyniki oceniania w innej lokalizacji danych przy użyciu modułu Eksportuj dane.

Moduły Importowanie danych i eksportowanie danych mogą odczytywać dane i zapisywać je w różnych lokalizacjach danych, takich jak adres URL sieci Web za pośrednictwem protokołu HTTP, zapytania Hive, bazy danych w usłudze Azure SQL Database, Azure Table Storage, Azure Blob Storage, źródła danych lub bazy danych SQL Server.

W tym temacie użyto przykładu "Sample 5: Train, Test, Evaluate for Binary Classification: Adult Dataset" (Przykład 5: trenowanie, testowanie, ocena klasyfikacji binarnej: zestaw danych dla dorosłych) i przyjęto założenie, że zestaw danych został już załadowany do tabeli Azure SQL o nazwie censusdata.

Tworzenie eksperymentu szkoleniowego

Po otwarciu przykładu "Sample 5: Train, Test, Evaluate for Binary Classification: Adult Dataset" (Przykład 5: trenowanie, testowanie, ocena klasyfikacji binarnej klasyfikacji binarnej klasyfikacji danych dla dorosłych: dorosły zestaw danych) używa przykładowego zestawu danych klasyfikacji binarnej census dla dorosłych. Eksperyment na kanwie będzie wyglądać podobnie do poniższego obrazu:

Początkowa konfiguracja eksperymentu.

Aby odczytać dane z tabeli Azure SQL:

  1. Usuń moduł zestawu danych.

  2. W polu wyszukiwania składników wpisz import.

  3. Z listy wyników dodaj moduł Import Data (Importuj dane ) do kanwy eksperymentu.

  4. Połącz dane wyjściowe modułu Import Data (Importowanie danych ) dane wejściowe modułu Clean Missing Data (Czyszczenie brakujących danych ).

  5. W okienku właściwości wybierz pozycję Azure SQL Baza danych na liście rozwijanej Źródło danych.

  6. W polu Nazwa serwera bazy danych, Nazwa bazy danych, Nazwa użytkownika i Hasło wprowadź odpowiednie informacje dla bazy danych.

  7. W polu Zapytanie bazy danych wprowadź następujące zapytanie.

     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. W dolnej części kanwy eksperymentu kliknij pozycję Uruchom.

Tworzenie eksperymentu predykcyjnego

Następnie skonfiguruj eksperyment predykcyjny, z którego wdrażasz usługę internetową.

  1. W dolnej części kanwy eksperymentu kliknij pozycję Skonfiguruj usługę internetową i wybierz pozycję Predykcyjna usługa sieci Web [zalecane].
  2. Usuń moduły Dane wejściowe usługi internetowej i Dane wyjściowe usługi internetowej z eksperymentu predykcyjnego.
  3. W polu wyszukiwania składników wpisz eksport.
  4. Z listy wyników dodaj moduł Eksportuj dane do kanwy eksperymentu.
  5. Połącz dane wyjściowe modułu Score Model (Generowanie wyników modelu ) dane wejściowe modułu Export Data (Eksportowanie danych ).
  6. W okienku właściwości wybierz pozycję Azure SQL Baza danych na liście rozwijanej miejsce docelowe danych.
  7. W polu Nazwa serwera bazy danych, Nazwa bazy danych, Nazwa konta użytkownika serwera i Hasło konta użytkownika serwera wprowadź odpowiednie informacje dla bazy danych.
  8. Na liście kolumn rozdzielanych przecinkami, które mają zostać zapisane , wpisz Scored Labels (Etykiety wynikowe).
  9. W polu Nazwa tabeli danych wpisz dbo. ScoredLabels. Jeśli tabela nie istnieje, zostanie utworzona po uruchomieniu eksperymentu lub wywołaniu usługi internetowej.
  10. Na liście rozdzielonych przecinkami kolumn tabeli danych wpisz ScoredLabels.

Podczas pisania aplikacji, która wywołuje ostateczną usługę internetową, może być konieczne określenie innej tabeli wejściowej lub docelowej w czasie wykonywania. Aby skonfigurować te dane wejściowe i wyjściowe, użyj funkcji Parametry usługi sieci Web, aby ustawić właściwość Źródła danychimportu danych i właściwość docelową eksportu danych trybu danych. Aby uzyskać więcej informacji na temat parametrów usługi internetowej, zobacz wpis Machine Learning Studio (klasyczne) Parametry usługi internetowej w blogu Cortana Intelligence and Machine Learning.

Aby skonfigurować parametry usługi sieci Web dla zapytania importu i tabeli docelowej:

  1. W okienku właściwości modułu Import Data (Importowanie danych ) kliknij ikonę w prawym górnym rogu pola Zapytania bazy danych i wybierz pozycję Ustaw jako parametr usługi internetowej.
  2. W okienku właściwości modułu Eksportuj dane kliknij ikonę w prawym górnym rogu pola Nazwa tabeli danych i wybierz pozycję Ustaw jako parametr usługi internetowej.
  3. W dolnej części okienka właściwości modułu Eksportuj dane w sekcji Parametry usługi sieci Web kliknij pozycję Zapytanie bazy danych i zmień nazwę zapytania.
  4. Kliknij pozycję Nazwa tabeli danych i zmień jej nazwę na Tabela.

Po zakończeniu eksperyment powinien wyglądać podobnie do poniższego obrazu:

Ostateczny wygląd eksperymentu.

Teraz możesz wdrożyć eksperyment jako usługę internetową.

Wdrażanie usługi internetowej

Można wdrożyć w klasycznej lub nowej usłudze sieci Web.

Wdrażanie klasycznej usługi sieci Web

Aby wdrożyć jako klasyczną usługę internetową i utworzyć aplikację, aby ją używać:

  1. W dolnej części kanwy eksperymentu kliknij pozycję Uruchom.

  2. Po zakończeniu przebiegu kliknij pozycję Wdróż usługę internetową i wybierz pozycję Wdróż usługę internetową[klasyczną].

  3. Na pulpicie nawigacyjnym usługi internetowej znajdź klucz interfejsu API. Skopiuj i zapisz go w celu późniejszego użycia.

  4. W tabeli Domyślny punkt końcowy kliknij link Wykonywanie usługi Batch , aby otworzyć stronę Pomocy interfejsu API.

  5. W programie Visual Studio utwórz aplikację konsolową języka C#: Nowy>projekt>Visual C#>Klasyczna aplikacja konsolowa systemu> Windows(.NET Framework).

  6. Na stronie Pomocy interfejsu API znajdź sekcję Przykładowy kod w dolnej części strony.

  7. Skopiuj i wklej przykładowy kod w języku C# do pliku Program.cs i usuń wszystkie odwołania do magazynu obiektów blob.

  8. Zaktualizuj wartość zmiennej apiKey przy użyciu klucza interfejsu API zapisanego wcześniej.

  9. Znajdź deklarację żądania i zaktualizuj wartości parametrów usługi sieci Web, które są przekazywane do modułów Importuj dane i Eksportuj dane . W tym przypadku należy użyć oryginalnego zapytania, ale zdefiniuj nową nazwę tabeli.

    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. Uruchom aplikację.

Po zakończeniu przebiegu nowa tabela zostanie dodana do bazy danych zawierającej wyniki oceniania.

Wdrażanie nowej usługi sieci Web

Uwaga

Aby wdrożyć nową usługę internetową, musisz mieć wystarczające uprawnienia w subskrypcji, do której wdrażasz usługę internetową. Aby uzyskać więcej informacji, zobacz Zarządzanie usługą internetową przy użyciu portalu usług internetowych usługi Machine Learning.

Aby wdrożyć jako nową usługę internetową i utworzyć aplikację, aby ją używać:

  1. W dolnej części kanwy eksperymentu kliknij pozycję Uruchom.

  2. Po zakończeniu przebiegu kliknij pozycję Wdróż usługę internetową i wybierz pozycję Wdróż usługę internetową [Nowy].

  3. Na stronie Wdrażanie eksperymentu wprowadź nazwę usługi internetowej, a następnie wybierz plan cenowy, a następnie kliknij pozycję Wdróż.

  4. Na stronie Szybki start kliknij pozycję Zużyj.

  5. W sekcji Przykładowy kod kliknij pozycję Batch.

  6. W programie Visual Studio utwórz aplikację konsolową języka C#: Nowy>projekt>Visual C#>Klasyczna aplikacja konsolowa systemu> Windows(.NET Framework).

  7. Skopiuj i wklej przykładowy kod języka C# do pliku Program.cs.

  8. Zaktualizuj wartość zmiennej apiKey przy użyciu klucza podstawowego znajdującego się w sekcji Informacje o użyciu podstawowe .

  9. Znajdź deklarację scoreRequest i zaktualizuj wartości parametrów usługi sieci Web, które są przekazywane do modułów Importuj dane i Eksportuj dane . W tym przypadku należy użyć oryginalnego zapytania, ale zdefiniuj nową nazwę tabeli.

    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. Uruchom aplikację.