Compartir a través de


AksWebservice Clase

Representa un modelo de Machine Learning implementado como punto de conexión de servicio web en Azure Kubernetes Service.

Un servicio implementado se crea a partir de un modelo, un script y los archivos asociados. El servicio web resultante es un punto de conexión HTTP con equilibrio de carga con una API REST. Puede enviar datos a esta API y recibir la predicción que devuelve el modelo.

AksWebservice implementa un único servicio en un punto de conexión. Para implementar varios servicios en un punto de conexión, use la clase AksEndpoint.

Para más información, consulte el documento Implementación de un modelo en el clúster de Azure Kubernetes Service.

Inicialice la instancia de servicio web.

El constructor de servicios web recupera una representación en la nube de un objeto Webservice asociado al área de trabajo proporcionada. Devolverá una instancia de una clase secundaria correspondiente al tipo específico del objeto Webservice recuperado.

Herencia
AksWebservice

Constructor

AksWebservice(workspace, name)

Parámetros

Nombre Description
workspace
Requerido

Objeto Workspace que contiene el objeto Webservice que se va a recuperar.

name
Requerido
str

Nombre del objeto Webservice que se va a recuperar.

Comentarios

El patrón de implementación recomendado es crear un objeto de configuración de implementación con el método deploy_configuration y luego usarlo con el método deploy de la clase Model como se muestra a continuación.


   # Set the web service configuration (using default here)
   aks_config = AksWebservice.deploy_configuration()

   # # Enable token auth and disable (key) auth on the webservice
   # aks_config = AksWebservice.deploy_configuration(token_auth_enabled=True, auth_enabled=False)

El ejemplo completo está disponible en https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb.

Hay varias maneras de implementar un modelo como un servicio web, entre las cuales se incluyen las siguientes:

  • Método deploy de Model para los modelos ya registrados en el área de trabajo.

  • Método deploy_from_image de Webservice.

  • Método deploy_from_model de Webservice para los modelos ya registrados en el área de trabajo. Este método creará una imagen.

  • Método deploy de Webservice, que registrará un modelo y creará una imagen.

Para obtener información sobre cómo trabajar con servicios web, consulte

En la sección Variables se enumeran los atributos de una representación local del objeto AksWebservice en la nube. Estas variables se deben considerar de solo lectura. El cambio de sus valores no se reflejará en el objeto de nube correspondiente.

Variables

Nombre Description
enable_app_insights

Si el registro de AppInsights está habilitado o no para Webservice.

autoscaler

Objeto Autoscaler para Webservice.

compute_name
str

Nombre de ComputeTarget en el que se implementa Webservice.

container_resource_requirements

Requisitos de recursos de contenedor para Webservice.

liveness_probe_requirements

Requisitos de sondeo de ejecución para Webservice.

data_collection

Objeto DataCollection para Webservice.

max_concurrent_requests_per_container
int

Número máximo de solicitudes simultáneas por contenedor para Webservice.

max_request_wait_time
int

Tiempo máximo de espera de solicitud para Webservice, en milisegundos.

num_replicas
int

Número de réplicas para Webservice. Cada réplica corresponde a un pod de AKS.

scoring_timeout_ms
int

Tiempo de espera de puntuación para Webservice, en milisegundos.

azureml.core.webservice.AksWebservice.scoring_uri
str

Punto de conexión de puntuación para Webservice.

is_default

Si Webservice es la versión predeterminada para el AksEndpoint primario.

traffic_percentile
int

Qué porcentaje de tráfico se enruta a Webservice en el AksEndpoint primario.

version_type

Tipo de versión de Webservice en el AksEndpoint primario.

token_auth_enabled

Si la autenticación de token está habilitada o no para Webservice.

environment

Objeto Environment que se usó para crear Webservice.

azureml.core.webservice.AksWebservice.models

Lista de modelos implementados en Webservice.

deployment_status
str

Estado de implementación de Webservice.

namespace
str

Espacio de nombres de AKS de Webservice.

azureml.core.webservice.AksWebservice.swagger_uri
str

Punto de conexión de swagger para Webservice.

Métodos

add_properties

Agrega pares clave-valor al diccionario de propiedades de este Webservice.

add_tags

Agregue pares clave-valor al diccionario de etiquetas de este Webservice.

Genera WebserviceException.

deploy_configuration

Crea un objeto de configuración para la implementación en un destino de proceso de AKS.

get_access_token

Recupera el token de autenticación para este Webservice.

get_token

EN DESUSO. Use el método get_access_token en su lugar.

Recupera el token de autenticación para este Webservice.

remove_tags

Quita las claves especificadas del diccionario de etiquetas de este Webservice.

run

Llama a este Webservice con la entrada proporcionada.

serialize

Convierte este Webservice en un diccionario serializado JSON.

update

Actualiza Webservice con las propiedades proporcionadas.

Los valores que se dejan como None permanecerán sin cambios en este Webservice.

add_properties

Agrega pares clave-valor al diccionario de propiedades de este Webservice.

add_properties(properties)

Parámetros

Nombre Description
properties
Requerido

Diccionario de las propiedades que se van a agregar.

add_tags

Agregue pares clave-valor al diccionario de etiquetas de este Webservice.

Genera WebserviceException.

add_tags(tags)

Parámetros

Nombre Description
tags
Requerido

Diccionario de las etiquetas que se van a agregar.

Excepciones

Tipo Description

deploy_configuration

Crea un objeto de configuración para la implementación en un destino de proceso de AKS.

static deploy_configuration(autoscale_enabled=None, autoscale_min_replicas=None, autoscale_max_replicas=None, autoscale_refresh_seconds=None, autoscale_target_utilization=None, collect_model_data=None, auth_enabled=None, cpu_cores=None, memory_gb=None, enable_app_insights=None, scoring_timeout_ms=None, replica_max_concurrent_requests=None, max_request_wait_time=None, num_replicas=None, primary_key=None, secondary_key=None, tags=None, properties=None, description=None, gpu_cores=None, period_seconds=None, initial_delay_seconds=None, timeout_seconds=None, success_threshold=None, failure_threshold=None, namespace=None, token_auth_enabled=None, compute_target_name=None, cpu_cores_limit=None, memory_gb_limit=None, blobfuse_enabled=None)

Parámetros

Nombre Description
autoscale_enabled

Indica si se debe habilitar o no la escalabilidad automática para este Webservice. El valor predeterminado es True si num_replicas es None.

Valor predeterminado: None
autoscale_min_replicas
int

Número mínimo de contenedores que se van a usar al escalar automáticamente este Webservice. De manera predeterminada, su valor es 1.

Valor predeterminado: None
autoscale_max_replicas
int

Número máximo de contenedores que se van a usar al escalar automáticamente este Webservice. El valor predeterminado es 10.

Valor predeterminado: None
autoscale_refresh_seconds
int

Frecuencia con la que el escalador automático debe intentar escalar este Webservice. De manera predeterminada, su valor es 1.

Valor predeterminado: None
autoscale_target_utilization
int

Uso objetivo (en un porcentaje de 100) que el escalador automático debe intentar mantener para este Webservice. El valor predeterminado es 70.

Valor predeterminado: None
collect_model_data

Indica si se debe habilitar o no la recopilación de datos del modelo para este Webservice. El valor predeterminado es False.

Valor predeterminado: None
auth_enabled

Indica si se debe habilitar o no la autenticación de clave para este Webservice. El valor predeterminado es True.

Valor predeterminado: None
cpu_cores

Número de núcleos de CPU que se asignarán a este Webservice. Puede ser un decimal. El valor predeterminado es 0,1. Corresponde a la solicitud principal del pod, no al límite, en Azure Kubernetes Service.

Valor predeterminado: None
memory_gb

Cantidad de memoria (en GB) que se va a asignar a este Webservice. Puede ser un decimal. El valor predeterminado es 0.5. Corresponde a la solicitud de memoria del pod, no al límite, en Azure Kubernetes Service.

Valor predeterminado: None
enable_app_insights

Indica si se debe habilitar o no el registro de Application Insights para este Webservice. El valor predeterminado es False.

Valor predeterminado: None
scoring_timeout_ms
int

Tiempo de espera para aplicar a las llamadas de puntuación a este Webservice. El valor predeterminado es 60 000.

Valor predeterminado: None
replica_max_concurrent_requests
int

Número máximo de solicitudes simultáneas por réplica que se permitirán para este Webservice. De manera predeterminada, su valor es 1. No cambie este valor a menos que se lo indique el soporte técnico de Microsoft o un miembro del equipo de Azure Machine Learning.

Valor predeterminado: None
max_request_wait_time
int

Cantidad máxima de tiempo que permanecerá una solicitud en la cola (en milisegundos) antes de devolver un error 503. El valor predeterminado es 500.

Valor predeterminado: None
num_replicas
int

Número de contenedores que se asignarán a este Webservice. No tiene un valor predeterminado. Si no se establece este parámetro, el escalador automático se habilita de manera predeterminada.

Valor predeterminado: None
primary_key
str

Clave de autenticación principal que se usará para este Webservice.

Valor predeterminado: None
secondary_key
str

Clave de autenticación secundaria que se usará para este Webservice.

Valor predeterminado: None
tags

Diccionario de etiquetas de valor de clave para proporcionar este Webservice.

Valor predeterminado: None
properties

Diccionario de propiedades de valor de clave para proporcionar este Webservice. Estas propiedades no se pueden cambiar después de la implementación, pero se pueden agregar nuevos pares clave-valor.

Valor predeterminado: None
description
str

Descripción para proporcionar a este Webservice.

Valor predeterminado: None
gpu_cores
int

Número de núcleos de GPU que se asignará a este servicio web. El valor predeterminado es 0.

Valor predeterminado: None
period_seconds
int

Frecuencia (en segundos) en que se ejecutará el sondeo de ejecución. El valor predeterminado es de 10 segundos. El valor mínimo es 1.

Valor predeterminado: None
initial_delay_seconds
int

Número de segundos después de que se haya iniciado el contenedor antes de que se inicien los sondeos de ejecución. El valor predeterminado es 310.

Valor predeterminado: None
timeout_seconds
int

Número de segundos tras los cuales el sondeo de ejecución agota el tiempo de espera. El valor predeterminado es de 2 segundos. El valor mínimo es 1.

Valor predeterminado: None
success_threshold
int

Número mínimo de valores correctos consecutivos para que el sondeo de ejecución se considere correcto después de que se haya producido un error. De manera predeterminada, su valor es 1. El valor mínimo es 1.

Valor predeterminado: None
failure_threshold
int

Cuando se inicie un pod y se produzca un error en el sondeo de ejecución, Kubernetes probará las veces especificadas en failureThreshold antes de abandonarlo. El valor predeterminado es 3. El valor mínimo es 1.

Valor predeterminado: None
namespace
str

El espacio de nombres de Kubernetes en el que se va a implementar este Webservice: hasta 63 caracteres alfanuméricos en minúsculas ("a"-"z", "0"-"9") y guion ("-"). El primer y el último carácter no puede ser un guion.

Valor predeterminado: None
token_auth_enabled

Indica si se debe habilitar o no la autenticación de token para este Webservice. Si esta opción está habilitada, los usuarios pueden acceder a este Webservice mediante la captura de un token de acceso con sus credenciales de Azure Active Directory. El valor predeterminado es False.

Valor predeterminado: None
compute_target_name
str

Nombre del destino de proceso en el que se implementará.

Valor predeterminado: None
cpu_cores_limit

Número máximo de núcleos de CPU que puede usar este servicio web. Puede ser un decimal.

Valor predeterminado: None
memory_gb_limit

Cantidad máxima de memoria (en GB) que puede usar este objeto Webservice. Puede ser un decimal.

Valor predeterminado: None
blobfuse_enabled

Si se habilita o no blobfuse para la descarga de modelos para este Webservice. El valor predeterminado es True.

Valor predeterminado: None

Devoluciones

Tipo Description

Objeto de configuración que se usará al implementar AksWebservice.

Excepciones

Tipo Description

get_access_token

Recupera el token de autenticación para este Webservice.

get_access_token()

Devoluciones

Tipo Description

Objeto que describe el token de autenticación para este Webservice.

Excepciones

Tipo Description

get_token

EN DESUSO. Use el método get_access_token en su lugar.

Recupera el token de autenticación para este Webservice.

get_token()

Devoluciones

Tipo Description

Token de autenticación para este Webservice y cuándo actualizarlo.

Excepciones

Tipo Description

remove_tags

Quita las claves especificadas del diccionario de etiquetas de este Webservice.

remove_tags(tags)

Parámetros

Nombre Description
tags
Requerido

Lista de claves que se quitarán.

run

Llama a este Webservice con la entrada proporcionada.

run(input_data)

Parámetros

Nombre Description
input_data
Requerido
<xref:varies>

Entrada con la que se llamará a Webservice.

Devoluciones

Tipo Description

Resultado de llamar a Webservice.

Excepciones

Tipo Description

serialize

Convierte este Webservice en un diccionario serializado JSON.

serialize()

Devoluciones

Tipo Description

Representación JSON de este Webservice.

update

Actualiza Webservice con las propiedades proporcionadas.

Los valores que se dejan como None permanecerán sin cambios en este Webservice.

update(image=None, autoscale_enabled=None, autoscale_min_replicas=None, autoscale_max_replicas=None, autoscale_refresh_seconds=None, autoscale_target_utilization=None, collect_model_data=None, auth_enabled=None, cpu_cores=None, memory_gb=None, enable_app_insights=None, scoring_timeout_ms=None, replica_max_concurrent_requests=None, max_request_wait_time=None, num_replicas=None, tags=None, properties=None, description=None, models=None, inference_config=None, gpu_cores=None, period_seconds=None, initial_delay_seconds=None, timeout_seconds=None, success_threshold=None, failure_threshold=None, namespace=None, token_auth_enabled=None, cpu_cores_limit=None, memory_gb_limit=None, **kwargs)

Parámetros

Nombre Description
image

Nueva imagen que se implementará en Webservice.

Valor predeterminado: None
autoscale_enabled

Habilitación o deshabilitación del escalado automático de este Webservice.

Valor predeterminado: None
autoscale_min_replicas
int

Número mínimo de contenedores que se van a usar al escalar automáticamente este Webservice.

Valor predeterminado: None
autoscale_max_replicas
int

Número máximo de contenedores que se van a usar al escalar automáticamente este Webservice.

Valor predeterminado: None
autoscale_refresh_seconds
int

Frecuencia con la que el escalador automático debe intentar escalar este Webservice.

Valor predeterminado: None
autoscale_target_utilization
int

Uso objetivo (en un porcentaje de 100) que el escalador automático debe intentar mantener para este Webservice.

Valor predeterminado: None
collect_model_data

Habilita o deshabilita la recopilación de datos de modelos para este objeto Webservice.

Valor predeterminado: None
auth_enabled

Indica si se debe habilitar o no la autenticación para este Webservice.

Valor predeterminado: None
cpu_cores

Número de núcleos de CPU que se asignarán a este Webservice. Puede ser un decimal.

Valor predeterminado: None
memory_gb

Cantidad de memoria (en GB) que se va a asignar a este Webservice. Puede ser un decimal.

Valor predeterminado: None
enable_app_insights

Indica si se debe habilitar o no el registro de Application Insights para este Webservice.

Valor predeterminado: None
scoring_timeout_ms
int

Tiempo de espera para aplicar a las llamadas de puntuación a este Webservice.

Valor predeterminado: None
replica_max_concurrent_requests
int

Número máximo de solicitudes simultáneas por réplica que se permitirán para este Webservice.

Valor predeterminado: None
max_request_wait_time
int

Cantidad máxima de tiempo que una solicitud permanecerá en la cola (en milisegundos) antes de devolver un error 503.

Valor predeterminado: None
num_replicas
int

Número de contenedores que se asignarán a este Webservice.

Valor predeterminado: None
tags

Diccionario de etiquetas de valor de clave para proporcionar este Webservice. Reemplazará las etiquetas existentes.

Valor predeterminado: None
properties

Diccionario de propiedades de valor de clave que se agregarán al diccionario de propiedades existente.

Valor predeterminado: None
description
str

Descripción para proporcionar a este Webservice.

Valor predeterminado: None
models

Lista de objetos de modelo que se van a empaquetar con el servicio actualizado.

Valor predeterminado: None
inference_config

Objeto InferenceConfig que se usa para proporcionar las propiedades de implementación del modelo necesarias.

Valor predeterminado: None
gpu_cores
int

Número de núcleos de GPU que se asignará a este Webservice.

Valor predeterminado: None
period_seconds
int

Frecuencia (en segundos) en que se ejecutará el sondeo de ejecución. El valor predeterminado es de 10 segundos. El valor mínimo es 1.

Valor predeterminado: None
initial_delay_seconds
int

Número de segundos después de que se haya iniciado el contenedor antes de que se inicien los sondeos de ejecución.

Valor predeterminado: None
timeout_seconds
int

Número de segundos tras los cuales el sondeo de ejecución agota el tiempo de espera. El valor predeterminado es de 1 segundo. El valor mínimo es 1.

Valor predeterminado: None
success_threshold
int

Número mínimo de valores correctos consecutivos para que el sondeo de ejecución se considere correcto después de que se haya producido un error. De manera predeterminada, su valor es 1. El valor mínimo es 1.

Valor predeterminado: None
failure_threshold
int

Cuando se inicie un pod y se produzca un error en el sondeo de ejecución, Kubernetes probará las veces especificadas en failureThreshold antes de abandonarlo. El valor predeterminado es 3. El valor mínimo es 1.

Valor predeterminado: None
namespace
str

El espacio de nombres de Kubernetes en el que se va a implementar este Webservice: hasta 63 caracteres alfanuméricos en minúsculas ("a"-"z", "0"-"9") y guion ("-"). El primer y el último carácter no puede ser un guion.

Valor predeterminado: None
token_auth_enabled

Indica si se debe habilitar o no la autenticación de token para este Webservice. Si esta opción está habilitada, los usuarios pueden acceder a este Webservice mediante la captura de un token de acceso con sus credenciales de Azure Active Directory. El valor predeterminado es False.

Valor predeterminado: None
cpu_cores_limit

Número máximo de núcleos de CPU que puede usar este objeto Webservice. Puede ser un decimal.

Valor predeterminado: None
memory_gb_limit

Cantidad máxima de memoria (en GB) que puede usar este objeto Webservice. Puede ser un decimal.

Valor predeterminado: None
kwargs
Requerido
<xref:varies>

Incluye parámetros para admitir la migración del servicio web de AKS a la implementación y el punto de conexión en línea de Kubernetes. is_migration=True|False, compute_target=.

Excepciones

Tipo Description