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
|
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
Consumir un modelo de Azure Machine Learning que está implementado como un servicio web
Supervisión y recopilación de datos de los puntos de conexión del servicio web ML
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
|
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
|
Número máximo de solicitudes simultáneas por contenedor para Webservice. |
max_request_wait_time
|
Tiempo máximo de espera de solicitud para Webservice, en milisegundos. |
num_replicas
|
Número de réplicas para Webservice. Cada réplica corresponde a un pod de AKS. |
scoring_timeout_ms
|
Tiempo de espera de puntuación para Webservice, en milisegundos. |
azureml.core.webservice.AksWebservice.scoring_uri
|
Punto de conexión de puntuación para Webservice. |
is_default
|
Si Webservice es la versión predeterminada para el AksEndpoint primario. |
traffic_percentile
|
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
|
Estado de implementación de Webservice. |
namespace
|
Espacio de nombres de AKS de Webservice. |
azureml.core.webservice.AksWebservice.swagger_uri
|
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 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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
Clave de autenticación principal que se usará para este Webservice. Valor predeterminado: None
|
secondary_key
|
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
|
Descripción para proporcionar a este Webservice. Valor predeterminado: None
|
gpu_cores
|
Número de núcleos de GPU que se asignará a este servicio web. El valor predeterminado es 0. Valor predeterminado: None
|
period_seconds
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
Número mínimo de contenedores que se van a usar al escalar automáticamente este Webservice. Valor predeterminado: None
|
autoscale_max_replicas
|
Número máximo de contenedores que se van a usar al escalar automáticamente este Webservice. Valor predeterminado: None
|
autoscale_refresh_seconds
|
Frecuencia con la que el escalador automático debe intentar escalar este Webservice. Valor predeterminado: None
|
autoscale_target_utilization
|
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
|
Tiempo de espera para aplicar a las llamadas de puntuación a este Webservice. Valor predeterminado: None
|
replica_max_concurrent_requests
|
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
|
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
|
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
|
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
|
Número de núcleos de GPU que se asignará a este Webservice. Valor predeterminado: None
|
period_seconds
|
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
|
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
|
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
|
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
|
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
|
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 |
---|---|