Ponowne trenowanie i wdrażanie klasycznej usługi internetowej Studio (klasycznej)

DOTYCZY:Dotyczy. Machine Learning Studio (wersja klasyczna) X wskazująca nie.Nie dotyczy.

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.

Ponowne trenowanie modeli uczenia maszynowego jest jednym ze sposobów zapewnienia, że są one dokładne i oparte na najbardziej odpowiednich dostępnych danych. W tym artykule przedstawiono sposób ponownego trenowania klasycznej usługi internetowej studio (klasycznej). Aby zapoznać się z przewodnikiem dotyczącym ponownego trenowania nowej usługi internetowej studio (klasycznej), zobacz ten artykuł z instrukcjami.

Wymagania wstępne

W tym artykule założono, że masz już eksperyment ponownego trenowania i eksperyment predykcyjny. Te kroki opisano w temacie Ponowne trenowanie i wdrażanie modelu uczenia maszynowego. Jednak zamiast wdrażać model uczenia maszynowego jako nową usługę internetową, wdrożysz eksperyment predykcyjny jako klasyczną usługę internetową.

Dodawanie nowego punktu końcowego

Wdrożona usługa predykcyjna sieci Web zawiera domyślny punkt końcowy oceniania, który jest zsynchronizowany z oryginalnym trenowanym modelem trenowania i oceniania eksperymentów. Aby zaktualizować usługę internetową do za pomocą nowego wytrenowanego modelu, należy utworzyć nowy punkt końcowy oceniania.

Istnieją dwa sposoby dodawania nowego punktu końcowego do usługi internetowej:

  • Programistyczne
  • Korzystanie z portalu usług internetowych platformy Azure

Uwaga

Upewnij się, że dodasz punkt końcowy do usługi predykcyjnej sieci Web, a nie do usługi internetowej trenowania. Jeśli wdrożono poprawnie zarówno usługę szkoleniową, jak i predykcyjną usługę sieci Web, powinny zostać wyświetlone dwie oddzielne usługi internetowe. Predykcyjna usługa sieci Web powinna kończyć się ciągiem "[predykcyjny exp.]".

Programowe dodawanie punktu końcowego

Punkty końcowe oceniania można dodać przy użyciu przykładowego kodu podanego w tym repozytorium GitHub.

Dodawanie punktu końcowego za pomocą portalu usług internetowych platformy Azure

  1. W usłudze Machine Learning Studio (wersja klasyczna) w lewej kolumnie nawigacji kliknij pozycję Usługi internetowe.
  2. W dolnej części pulpitu nawigacyjnego usługi internetowej kliknij pozycję Zarządzaj punktami końcowymi w wersji zapoznawczej.
  3. Kliknij pozycję Dodaj.
  4. Wpisz nazwę i opis nowego punktu końcowego. Wybierz poziom rejestrowania i określ, czy przykładowe dane są włączone. Aby uzyskać więcej informacji na temat rejestrowania, zobacz Włączanie rejestrowania dla usług internetowych usługi Machine Learning.

Aktualizowanie wytrenowanego modelu dodanego punktu końcowego

Pobieranie adresu URL poprawki

Wykonaj następujące kroki, aby uzyskać prawidłowy adres URL poprawki przy użyciu portalu internetowego:

  1. Zaloguj się do portalu usług sieci Web Azure Machine Learning .
  2. Kliknij pozycję Usługi sieci Web lub klasyczne usługi sieci Web u góry.
  3. Kliknij usługę internetową oceniania, z którą pracujesz (jeśli nie zmodyfikowano domyślnej nazwy usługi internetowej, zostanie ona zakończona ciągiem "[Punktacji exp.]").
  4. Kliknij pozycję +NOWY.
  5. Po dodaniu punktu końcowego kliknij nazwę punktu końcowego.
  6. W obszarze Adres URL poprawki kliknij pozycję Pomoc interfejsu API , aby otworzyć stronę pomocy dotyczącej poprawek.

Uwaga

Jeśli punkt końcowy został dodany do usługi sieci Web Trenowanie zamiast predykcyjnej usługi sieci Web, po kliknięciu linku Aktualizuj zasób zostanie wyświetlony następujący błąd: "Niestety, ta funkcja nie jest obsługiwana lub dostępna w tym kontekście. Ta usługa sieci Web nie ma aktualizowalnych zasobów. Przepraszamy za niedogodności i pracujemy nad ulepszeniem tego przepływu pracy.

Strona pomocy PATCH zawiera adres URL poprawki, którego należy użyć i zawiera przykładowy kod, którego można użyć do jego wywołania.

Adres URL poprawki.

Aktualizowanie punktu końcowego

Teraz możesz użyć wytrenowanego modelu, aby zaktualizować utworzony wcześniej punkt końcowy oceniania.

Poniższy przykładowy kod pokazuje, jak zaktualizować punkt końcowy za pomocą parametru BaseLocation, RelativeLocation, SasBlobToken i PATCH URL.

private async Task OverwriteModel()
{
    var resourceLocations = new
    {
        Resources = new[]
        {
            new
            {
                Name = "Census Model [trained model]",
                Location = new AzureBlobDataReference()
                {
                    BaseLocation = "https://esintussouthsus.blob.core.windows.net/",
                    RelativeLocation = "your endpoint relative location", //from the output, for example: "experimentoutput/8946abfd-79d6-4438-89a9-3e5d109183/8946abfd-79d6-4438-89a9-3e5d109183.ilearner"
                    SasBlobToken = "your endpoint SAS blob token" //from the output, for example: "?sv=2013-08-15&sr=c&sig=37lTTfngRwxCcf94%3D&st=2015-01-30T22%3A53%3A06Z&se=2015-01-31T22%3A58%3A06Z&sp=rl"
                }
            }
        }
    };

    using (var client = new HttpClient())
    {
        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);

        using (var request = new HttpRequestMessage(new HttpMethod("PATCH"), endpointUrl))
        {
            request.Content = new StringContent(JsonConvert.SerializeObject(resourceLocations), System.Text.Encoding.UTF8, "application/json");
            HttpResponseMessage response = await client.SendAsync(request);

            if (!response.IsSuccessStatusCode)
            {
                await WriteFailedResponse(response);
            }

            // Do what you want with a successful response here.
        }
    }
}

Klucz apiKey i element endpointUrl dla wywołania można uzyskać z poziomu pulpitu nawigacyjnego punktu końcowego.

Wartość parametru Name w obszarze Zasoby powinna być zgodna z nazwą zasobu zapisanego wytrenowanego modelu w eksperymencie predykcyjnym. Aby uzyskać nazwę zasobu:

  1. Zaloguj się w witrynie Azure Portal.
  2. W menu po lewej stronie kliknij pozycję Machine Learning.
  3. W obszarze Nazwa kliknij obszar roboczy, a następnie kliknij pozycję Usługi sieci Web.
  4. W obszarze Nazwa kliknij pozycję Model spisu [predykcyjny exp.].
  5. Kliknij dodany nowy punkt końcowy.
  6. Na pulpicie nawigacyjnym punktu końcowego kliknij pozycję Aktualizuj zasób.
  7. Na stronie Aktualizowanie dokumentacji interfejsu API zasobów dla usługi internetowej można znaleźć nazwę zasobu w obszarze Zasoby możliwe do zaktualizowania.

Jeśli token sygnatury dostępu współdzielonego wygaśnie przed zakończeniem aktualizowania punktu końcowego, musisz wykonać polecenie GET z identyfikatorem zadania, aby uzyskać nowy token.

Po pomyślnym uruchomieniu kodu nowy punkt końcowy powinien rozpocząć korzystanie z ponownie trenowanego modelu w około 30 sekundach.

Następne kroki

Aby dowiedzieć się więcej na temat zarządzania usługami internetowymi lub śledzić wiele przebiegów eksperymentów, zobacz następujące artykuły: