Ponowne uczenie i wdrażanie klasycznej usługi sieci Web (klasycznej)

dotyczy:  Zielony znacznik wyboru. Machine Learning Studio (klasyczny)  X wskazujący nie.Azure Machine Learning

Przeszkolenie modeli uczenia maszynowego jest jednym ze sposobów upewnienia się, że są one dokładne i oparte na najbardziej przydatnych dostępnych danych. W tym artykule przedstawiono sposób ponownego uczenia klasycznej usługi sieci Web (klasycznej). Aby zapoznać się z przewodnikiem dotyczącym ponownego uczenia nowej usługi sieci Web programu Studio (klasycznej), Zobacz ten artykuł.

Wymagania wstępne

W tym artykule założono, że masz już eksperyment szkoleniowy i eksperyment predykcyjny. Te kroki są wyjaśnione w sekcji ponowne uczenie i wdrażanie modelu uczenia maszynowego. Jednak zamiast wdrażania modelu uczenia maszynowego jako nowej usługi sieci Web, należy wdrożyć eksperyment predykcyjny jako klasyczną usługę sieci Web.

Dodaj nowy punkt końcowy

Wdrożona usługa sieci Web predykcyjna zawiera domyślny punkt końcowy oceniania, który jest zsynchronizowany z pierwotnym modelem szkoleń i eksperymentów oceniania. Aby zaktualizować usługę sieci Web do programu przy użyciu nowego, nauczonego modelu, należy utworzyć nowy punkt końcowy oceniania.

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

  • Programistyczne
  • Korzystanie z portalu usług sieci Web platformy Azure

Uwaga

Pamiętaj, aby dodać punkt końcowy do usługi predykcyjnej sieci Web, a nie usługi sieci Web szkoleniowej. Jeśli poprawnie wdrożono zarówno szkolenie, jak i predykcyjną usługę sieci Web, powinny zostać wyświetlone dwie oddzielne usługi sieci Web. Predykcyjna usługa sieci Web powinna kończyć się znakiem "[EXP predykcyjnym.]".

Programowe Dodawanie punktu końcowego

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

Dodawanie punktu końcowego przy użyciu portalu usług sieci Web platformy Azure

  1. W Machine Learning Studio (klasyczny), w lewej kolumnie nawigacyjnej kliknij pozycję usługi sieci Web.
  2. W dolnej części pulpitu nawigacyjnego usługi sieci Web kliknij pozycję Zarządzaj podglądami punktów końcowych.
  3. Kliknij pozycję Dodaj.
  4. Wpisz nazwę i opis nowego punktu końcowego. Wybierz poziom rejestrowania i czy włączono przykładowe dane. Aby uzyskać więcej informacji na temat rejestrowania, zobacz Włączanie rejestrowania dla usług sieci web Machine Learning.

Aktualizowanie przeszkolonego modelu dodanego punktu końcowego

Pobierz adres URL poprawki

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

  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ę oceniania sieci Web, z którą pracujesz (jeśli nie zmodyfikujesz domyślnej nazwy usługi sieci Web, zostanie ona zakończona w "[Punktacja EXP.]").
  4. Kliknij pozycję + Nowy.
  5. Po dodaniu punktu końcowego kliknij nazwę punktu końcowego.
  6. W obszarze adres URL poprawki kliknij polecenie Pomoc interfejsu API , aby otworzyć stronę Pomoc dotycząca poprawek.

Uwaga

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

Strona Pomoc dotycząca poprawek zawiera adres URL poprawki, którego należy użyć, i zawiera przykładowy kod, którego można użyć do wywołania go.

Adres URL poprawki.

Aktualizowanie punktu końcowego

Możesz teraz użyć przeszkolonego modelu, aby zaktualizować utworzony wcześniej punkt końcowy oceniania.

Poniższy przykładowy kod pokazuje, jak zaktualizować punkt końcowy przy użyciu adresu URL BaseLocation, RelativeLocation, SasBlobToken i patch.

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.
        }
    }
}

ApiKey i endpointUrl dla wywołania można uzyskać z pulpitu nawigacyjnego punktu końcowego.

Wartość parametru name w zasobach powinna być zgodna z nazwą zasobu zapisanego przeszkolonego modelu w eksperymentie 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 swój obszar roboczy, a następnie kliknij pozycję usługi sieci Web.
  4. W obszarze Nazwa kliknij pozycję model spisu [EXP predykcyjny.].
  5. Kliknij nowy punkt końcowy, który został dodany.
  6. Na pulpicie nawigacyjnym punktu końcowego kliknij pozycję Aktualizuj zasób.
  7. Na stronie Dokumentacja interfejsu API zasobów aktualizacji dla usługi sieci Web można znaleźć nazwę zasobu w obszarze aktualizowalne zasoby.

Jeśli token sygnatury dostępu współdzielonego wygaśnie przed ukończeniem aktualizacji punktu końcowego, należy wykonać pobieranie z IDENTYFIKATORem zadania w celu uzyskania nowego tokenu.

Po pomyślnym uruchomieniu kodu nowy punkt końcowy powinien zacząć korzystać z przeszkolnego modelu przez około 30 sekund.

Następne kroki

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