Retreine e implemente um serviço web clássico do Studio (clássico)Retrain and deploy a classic Studio (classic) web service

APLICA-SE A:  Marca verde de verificação. Machine Learning Studio (clássico)  X indicando não A. Azure Machine Learning APPLIES TO: Green check mark.Machine Learning Studio (classic) X indicating no.Azure Machine Learning

A reconversão de modelos de aprendizagem automática é uma forma de garantir que se mantêm precisas e com base nos dados mais relevantes disponíveis.Retraining machine learning models is one way to ensure they stay accurate and based on the most relevant data available. Este artigo irá mostrar-lhe como treinar um serviço web clássico do Studio (clássico).This article will show you how to retrain a classic Studio (classic) web service. Para um guia sobre como treinar um novo serviço web Studio (clássico), veja este artigo como-a-dia.For a guide on how to retrain a new Studio (classic) web service, view this how-to article.

Pré-requisitosPrerequisites

Este artigo pressupõe que já tem uma experiência de reconversão e uma experiência preditiva.This article assumes you already have both a retraining experiment and a predictive experiment. Estes passos são explicados na Retrain e implementam um modelo de aprendizagem automática.These steps are explained in Retrain and deploy a machine learning model. No entanto, em vez de implementar o seu modelo de machine learning como um novo serviço web, irá implementar a sua experiência preditiva como um serviço web clássico.However, instead of deploying your machine learning model as a new web service, you will deploy your predictive experiment as a classic web service.

Adicione um novo ponto finalAdd a new endpoint

O serviço web preditivo que implementou contém um ponto final de pontuação padrão que é mantido em sintonia com o modelo treinado de treino e pontuação original.The predictive web service that you deployed contains a default scoring endpoint that is kept in sync with the original training and scoring experiments trained model. Para atualizar o seu serviço web com um novo modelo treinado, tem de criar um novo ponto final de pontuação.To update your web service to with a new trained model, you must create a new scoring endpoint.

Existem duas formas de adicionar um novo ponto final a um serviço web:There are two ways in which you can add a new end point to a web service:

  • Através de programaçãoProgrammatically
  • Utilizando o portal Azure Web ServicesUsing the Azure Web Services portal

Nota

Certifique-se de que está a adicionar o ponto final ao Serviço Web Preditivo, não ao Serviço Web de Formação.Be sure you are adding the endpoint to the Predictive Web Service, not the Training Web Service. Se implementou corretamente um Serviço Web de Formação e Um Serviço Web Preditivo, deverá ver dois serviços web separados listados.If you have correctly deployed both a Training and a Predictive Web Service, you should see two separate web services listed. O Serviço Web Preditivo deve terminar com "[exp predictive.]".The Predictive Web Service should end with "[predictive exp.]".

Programáticamente adicionar um ponto finalProgrammatically add an endpoint

Pode adicionar pontos finais de pontuação utilizando o código de amostra fornecido neste repositório GitHub.You can add scoring endpoints using the sample code provided in this GitHub repository.

Utilize o portal Azure Web Services para adicionar um ponto finalUse the Azure Web Services portal to add an endpoint

  1. No Machine Learning Studio (clássico), na coluna de navegação à esquerda, clique nos Serviços Web.In Machine Learning Studio (classic), on the left navigation column, click Web Services.
  2. Na parte inferior do painel de instrumentos de serviço web, clique em Gerir a pré-visualização dos pontos finais.At the bottom of the web service dashboard, click Manage endpoints preview.
  3. Clique em Adicionar.Click Add.
  4. Digite um nome e descrição para o novo ponto final.Type a name and description for the new endpoint. Selecione o nível de registo e se os dados da amostra estão ativados.Select the logging level and whether sample data is enabled. Para obter mais informações sobre o registo, consulte Ativar o registo de serviços web machine learning.For more information on logging, see Enable logging for Machine Learning web services.

Atualizar o modelo treinado do endpoint adicionadoUpdate the added endpoint's trained model

Retrieve PATCH URLRetrieve PATCH URL

Siga estes passos para obter o URL PATCH correto utilizando o portal web:Follow these steps to get the correct PATCH URL using the web portal:

  1. Inscreva-se no portal Azure Machine Learning Web Services.Sign in to the Azure Machine Learning Web Services portal.
  2. Clique em Serviços Web ou Serviços Web Clássicos no topo.Click Web Services or Classic Web Services at the top.
  3. Clique no serviço web de pontuação com o qual está a trabalhar (se não modificar o nome padrão do serviço web, terminará em "[Scoring Exp.]").Click the scoring web service you're working with (if you didn't modify the default name of the web service, it will end in "[Scoring Exp.]").
  4. Clique em +NEW.Click +NEW.
  5. Depois de adicionar o ponto final, clique no nome do ponto final.After the endpoint is added, click the endpoint name.
  6. No URL patch, clique em Ajuda API para abrir a página de ajuda de remendação.Under the Patch URL, click API Help to open the patching help page.

Nota

Se adicionar o ponto final ao Serviço Web de Formação em vez do Serviço Web Preditivo, receberá o seguinte erro quando clicar no link 'Recurso de actualização': "Desculpe, mas esta funcionalidade não está suportada ou disponível neste contexto.If you added the endpoint to the Training Web Service instead of the Predictive Web Service, you will receive the following error when you click the Update Resource link: "Sorry, but this feature is not supported or available in this context. Este Serviço Web não tem recursos necessários.This Web Service has no updatable resources. Pedimos desculpa pelo inconveniente e estamos a trabalhar para melhorar este fluxo de trabalho."We apologize for the inconvenience and are working on improving this workflow."

A página de ajuda PATCH contém o URL PATCH que deve utilizar e fornece o código de amostra que pode usar para chamá-lo.The PATCH help page contains the PATCH URL you must use and provides sample code you can use to call it.

URL de patch.

Atualizar o ponto finalUpdate the endpoint

Agora pode utilizar o modelo treinado para atualizar o ponto final de pontuação que criou anteriormente.You can now use the trained model to update the scoring endpoint that you created previously.

O seguinte código de amostra mostra-lhe como utilizar o BaseLocation, RelativeLocation, SasBlobToken e PATCH URL para atualizar o ponto final.The following sample code shows you how to use the BaseLocation, RelativeLocation, SasBlobToken, and PATCH URL to update the endpoint.

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

O apiKey e o endpointUrl para a chamada podem ser obtidos a partir do painel de instrumentos de ponta.The apiKey and the endpointUrl for the call can be obtained from endpoint dashboard.

O valor do parâmetro Nome em Recursos deve coincidir com o Nome de Recurso do Modelo Treinado Salvo na experiência preditiva.The value of the Name parameter in Resources should match the Resource Name of the saved Trained Model in the predictive experiment. Para obter o Nome de Recurso:To get the Resource Name:

  1. Inicie sessão no portal do Azure.Sign in to the Azure portal.
  2. No menu esquerdo, clique em Machine Learning.In the left menu, click Machine Learning.
  3. Em Nome, clique no seu espaço de trabalho e, em seguida, clique em Serviços Web.Under Name, click your workspace and then click Web Services.
  4. Em Nome, clique no Modelo de Censos [exp preditivo.].Under Name, click Census Model [predictive exp.].
  5. Clique no novo ponto final que adicionou.Click the new endpoint you added.
  6. No painel de instrumentos de ponto final, clique em Atualizar Recurso.On the endpoint dashboard, click Update Resource.
  7. Na página de documentação da API de recurso de atualização para o serviço web, pode encontrar o Nome de Recurso em Recursos Updatable.On the Update Resource API Documentation page for the web service, you can find the Resource Name under Updatable Resources.

Se o seu token SAS expirar antes de terminar de atualizar o ponto final, tem de efetuar um GET com o Job ID para obter um novo token.If your SAS token expires before you finish updating the endpoint, you must perform a GET with the Job ID to obtain a fresh token.

Quando o código tiver sido executado com sucesso, o novo ponto final deve começar a utilizar o modelo retreinado em aproximadamente 30 segundos.When the code has successfully run, the new endpoint should start using the retrained model in approximately 30 seconds.

Passos seguintesNext steps

Para saber mais sobre como gerir serviços web ou acompanhar várias experiências, consulte os seguintes artigos:To learn more about how to manage web services or keep track of multiple experiments runs, see the following articles: