Repetición del entrenamiento e implementación de un servicio web de Studio (clásico)

SE APLICA A:Se aplica a Machine Learning Studio (clásico) La X indica que no.No se aplica a.

Importante

El soporte técnico de Machine Learning Studio (clásico) finalizará el 31 de agosto de 2024. Se recomienda realizar la transición a Azure Machine Learning antes de esa fecha.

A partir del 1 de diciembre de 2021 no se podrán crear recursos de Machine Learning Studio (clásico). Hasta el 31 de agosto de 2024, puede seguir usando los recursos de Machine Learning Studio (clásico) existentes.

La documentación de ML Studio (clásico) se está retirando y es posible que no se actualice en el futuro.

Una forma de garantizar que los modelos de Machine Learning siguen siendo precisos y se basan en los datos más adecuados disponibles, es volver a entrenarlos. En este artículo se muestra cómo volver a entrenar un servicio web de Studio clásico. Para más información acerca de cómo volver a entrenar un nuevo servicio web de Studio (clásico), consulte este artículo de procedimientos.

Requisitos previos

En este artículo se asume que tiene un experimento de reciclaje y un experimento de predicción. Estos pasos se explican en el tema Nuevo entrenamiento e implementación de un modelo de aprendizaje automático. Sin embargo, en lugar de implementar el modelo de Machine Learning como un servicio web nuevo, implementará el experimento de predicción como un servicio web clásico.

Adición de un punto de conexión nuevo

El servicio web de predicción que ha implementado contiene un punto de conexión de puntuación predeterminado que se mantiene sincronizado con el entrenamiento original y el modelo entrenado de experimentos de puntuación. Para actualizar el servicio web a un nuevo modelo entrenado, debe crear un nuevo punto de conexión para la puntuación.

Hay dos formas en que puede agregar un nuevo punto de conexión a un servicio web:

  • De manera programática
  • Mediante el portal de Azure Web Services

Nota

Asegúrese de agregar el punto de conexión al servicio web predictivo y no al de entrenamiento. Si ha implementado correctamente un servicio web predictivo y otro de entrenamiento, debería ver dos servicios web independientes. El servicio web predictivo debe terminar con "[predictive exp.]".

Incorporación de un punto de conexión mediante programación

También puede agregar puntos de conexión de puntuación mediante el código de ejemplo proporcionado en este repositorio de GitHub.

Uso del portal de Azure Web Services para agregar un punto de conexión

  1. En Machine Learning Studio (clásico), en la columna de navegación izquierda, haga clic en Servicios web.
  2. En la parte inferior del panel de servicios web, haga clic en Manage endpoints preview(Administrar versión preliminar de puntos de conexión).
  3. Haga clic en Agregar.
  4. Escriba un nombre y una descripción para el nuevo punto de conexión. Seleccione el nivel de registro y si los datos de ejemplo están habilitados. Para más información sobre los registros, vea Habilitar el registro para los servicios web de Machine Learning.

Actualización del modelo entrenado del punto de conexión agregado

Recuperación de URL de PATCH

Para obtener el valor correcto de URL de PATCH mediante el portal web, siga estos pasos:

  1. Inicie sesión en el portal Servicios web Azure Machine Learning.
  2. Haga clic en Web Services (Servicios web) o Classic Web Services (Servicios web clásicos) en la parte superior.
  3. Haga clic en el servicio web de puntuación con el que trabaja (si no ha modificado el nombre predeterminado del servicio web, terminará en "[Scoring Exp.]").
  4. Haga clic en + NUEVO.
  5. Una vez agregado el punto de conexión, haga clic en su nombre.
  6. En la dirección URL de Revisión, haga clic en API Help (Ayuda de API) para abrir la página de ayuda de la aplicación de revisiones.

Nota

Si ha agregado el punto de conexión al servicio web de entrenamiento en lugar de al de predicción, verá el siguiente mensaje de error al hacer clic en el vínculo Update Resource (Actualizar recurso): "Sorry, but this feature is not supported or available in this context." (Lo sentimos, pero esta característica no se admite ni está disponible en este contexto). Este servicio web no tiene ningún recurso actualizable. Sentimos las molestias. Estamos trabajando en mejorar este flujo de trabajo."

La página de ayuda sobre PATCH contiene el valor de PATCH URL que debe usar y proporciona un código de ejemplo que puede usar para realizar la llamada.

PATCH URL.

Actualización del punto de conexión

Ahora puede usar el modelo entrenado para actualizar el punto de conexión de puntuación que creó anteriormente.

El código de ejemplo siguiente muestra cómo utilizar BaseLocation, RelativeLocation, SasBlobToken y el valor de PATCH URL para actualizar el punto de conexión.

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

Se puede obtener apiKey y endpointUrl para la llamada desde el panel del punto de conexión.

El valor del parámetro Name de Resources debe coincidir con el nombre del recurso del modelo entrenado guardado en el experimento predictivo. Para obtener el nombre del recurso:

  1. Inicie sesión en Azure Portal.
  2. Haga clic en Machine Learningen el menú izquierdo.
  3. En Nombre, haga clic en el área de trabajo y, a continuación, haga clic en Servicios web.
  4. En Nombre, haga clic en Census Model [predictive exp.] (Modelo de censo [exp. predictivo]).
  5. Haga clic en el nuevo punto de conexión que ha agregado.
  6. En el panel del punto de conexión, haga clic en Actualizar recurso.
  7. En la página de documentación de la API de actualización de recurso para el servicio web, encontrará el nombre del recurso en Updatable Resources (Recursos actualizables).

Si el token de SAS expira antes de que termine de actualizar el punto de conexión, debe realizar una operación GET con el Id. del trabajo para obtener un nuevo token.

Si el código se ha ejecutado correctamente, el nuevo punto de conexión debería comenzar a utilizar el modelo reentrenado en aproximadamente 30 segundos.

Pasos siguientes

Para más información acerca de cómo administrar los servicios web o realizar un seguimiento de la ejecución de varios experimentos, consulte los artículos siguientes: