Delen via


Een klassieke Studio-webservice (klassiek) opnieuw trainen en implementeren

VAN TOEPASSING OP: Van toepassing op. Machine Learning Studio (klassiek) X (geeft nee aan).Is niet van toepassing op.

Belangrijk

De ondersteuning voor Azure Machine Learning-studio (klassiek) eindigt op 31 augustus 2024. U wordt aangeraden om vóór die datum over te stappen naar Azure Machine Learning.

Vanaf 1 december 2021 kunt u geen nieuwe resources voor Azure Machine Learning-studio (klassiek) meer maken. Tot en met 31 augustus 2024 kunt u de bestaande resources van Azure Machine Learning-studio (klassiek) blijven gebruiken.

De documentatie van ML-studio (klassiek) wordt buiten gebruik gesteld en wordt in de toekomst mogelijk niet meer bijgewerkt.

Het opnieuw trainen van machine learning-modellen is één manier om ervoor te zorgen dat ze nauwkeurig blijven en gebaseerd zijn op de meest relevante gegevens die beschikbaar zijn. In dit artikel wordt beschreven hoe u een klassieke Studio-webservice (klassiek) opnieuw kunt trainen. Bekijk dit artikel voor een handleiding over het opnieuw trainen van een nieuwe Studio-webservice (klassiek).

Vereisten

In dit artikel wordt ervan uitgegaan dat u al een hertrainingsexperiment en een voorspellend experiment hebt. Deze stappen worden uitgelegd in Een machine learning-model opnieuw trainen en implementeren. In plaats van uw machine learning-model als een nieuwe webservice te implementeren, implementeert u uw voorspellende experiment echter als een klassieke webservice.

Een nieuw eindpunt toevoegen

De voorspellende webservice die u hebt geïmplementeerd, bevat een standaardscore-eindpunt dat gesynchroniseerd blijft met het oorspronkelijke trainings- en scoreexperiment dat is getraind. Als u uw webservice wilt bijwerken naar een nieuw getraind model, moet u een nieuw score-eindpunt maken.

Er zijn twee manieren waarop u een nieuw eindpunt kunt toevoegen aan een webservice:

  • Programmatisch
  • De Azure Web Services-portal gebruiken

Notitie

Zorg ervoor dat u het eindpunt toevoegt aan de voorspellende webservice, niet aan de trainingswebservice. Als u zowel een training als een voorspellende webservice correct hebt geïmplementeerd, ziet u twee afzonderlijke webservices. De voorspellende webservice moet eindigen op [predictive exp.].

Programmatisch een eindpunt toevoegen

U kunt score-eindpunten toevoegen met behulp van de voorbeeldcode in deze GitHub-opslagplaats.

De Azure Web Services-portal gebruiken om een eindpunt toe te voegen

  1. Klik in Machine Learning Studio (klassiek) in de linkernavigatiekolom op Web Services.
  2. Klik onder aan het webservicedashboard op Voorbeeld van eindpunten beheren.
  3. Klik op Toevoegen.
  4. Typ een naam en beschrijving voor het nieuwe eindpunt. Selecteer het niveau van de logboekregistratie en of voorbeeldgegevens zijn ingeschakeld. Zie Logboekregistratie inschakelen voor Machine Learning-webservices voor meer informatie over logboekregistratie.

Het getrainde model van het toegevoegde eindpunt bijwerken

PATCH-URL ophalen

Volg deze stappen om de juiste PATCH-URL op te halen met behulp van de webportal:

  1. Meld u aan bij de Azure Machine Learning-webservicesportal .
  2. Klik bovenaan op WebServices of klassieke webservices .
  3. Klik op de scorewebservice waarmee u werkt (als u de standaardnaam van de webservice niet hebt gewijzigd, eindigt deze op '[Scoring Exp.]').
  4. Klik op +NIEUW.
  5. Nadat het eindpunt is toegevoegd, klikt u op de naam van het eindpunt.
  6. Klik onder de PATCH-URL op API Help om de help-pagina voor patches te openen.

Notitie

Als u het eindpunt hebt toegevoegd aan de trainingswebservice in plaats van de voorspellende webservice, wordt de volgende fout weergegeven wanneer u op de koppeling Resource bijwerken klikt: 'Deze functie wordt echter niet ondersteund of beschikbaar in deze context. Deze webservice heeft geen resources die kunnen worden bijgewerkt. Onze excuses voor het ongemak en werken aan het verbeteren van deze werkstroom."

De HELP-pagina PATCH bevat de PATCH-URL die u moet gebruiken en bevat voorbeeldcode die u kunt gebruiken om deze aan te roepen.

Patch-URL.

Het eindpunt bijwerken

U kunt nu het getrainde model gebruiken om het score-eindpunt bij te werken dat u eerder hebt gemaakt.

In de volgende voorbeeldcode ziet u hoe u de BaseLocation-, RelativeLocation-, SasBlobToken- en PATCH-URL gebruikt om het eindpunt bij te werken.

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

De apiKey en endpointUrl voor de aanroep kunnen worden verkregen via het eindpuntdashboard.

De waarde van de parameter Naam in Resources moet overeenkomen met de resourcenaam van het opgeslagen getrainde model in het voorspellende experiment. De resourcenaam ophalen:

  1. Meld u aan bij het Azure-portaal.
  2. Klik in het linkermenu op Machine Learning.
  3. Klik onder Naam op uw werkruimte en klik vervolgens op Webservices.
  4. Klik onder Naam op Census Model [predictive exp.].
  5. Klik op het nieuwe eindpunt dat u hebt toegevoegd.
  6. Klik op het eindpuntdashboard op Resource bijwerken.
  7. Op de pagina Documentatie voor de resource-API bijwerken voor de webservice vindt u de resourcenaam onder Updatable Resources.

Als uw SAS-token verloopt voordat u het eindpunt bijwerkt, moet u een GET uitvoeren met de taak-id om een nieuw token te verkrijgen.

Wanneer de code is uitgevoerd, moet het nieuwe eindpunt binnen ongeveer 30 seconden het opnieuw getrainde model gaan gebruiken.

Volgende stappen

Zie de volgende artikelen voor meer informatie over het beheren van webservices of het bijhouden van meerdere experimenten: