Webservice Clase
Define la funcionalidad base para implementar modelos como puntos de conexión de servicio web en Azure Machine Learning.
El constructor Webservice se usa para recuperar una representación en la nube de un objeto Webservice asociado al área de trabajo proporcionada. Se devuelve una instancia de una clase secundaria correspondiente al tipo específico del objeto Webservice recuperado. La clase Webservice permite implementar modelos de Machine Learning desde un objeto Model o Image.
Para más información sobre el trabajo con Webservice, consulte Implementación de modelos con Azure Machine Learning.
- Herencia
-
Webservice
Constructor
Webservice(workspace, name)
Parámetros
- workspace
- Workspace
Objeto Workspace que contiene el objeto Webservice que se va a recuperar.
Comentarios
En el ejemplo siguiente, se muestra el patrón de implementación recomendado, en el que primero se crea un objeto de configuración con el método deploy_configuration
de la clase secundaria del objeto Webservice (en este caso, AksWebservice) y luego se usa la configuración con el método deploy
de la clase Model.
# 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.
En el ejemplo siguiente, se muestra cómo buscar un elemento AciWebservice existente en un área de trabajo y eliminarlo si existe para poder reutilizar el nombre.
from azureml.core.model import InferenceConfig
from azureml.core.webservice import AciWebservice
service_name = 'my-custom-env-service'
inference_config = InferenceConfig(entry_script='score.py', environment=environment)
aci_config = AciWebservice.deploy_configuration(cpu_cores=1, memory_gb=1)
service = Model.deploy(workspace=ws,
name=service_name,
models=[model],
inference_config=inference_config,
deployment_config=aci_config,
overwrite=True)
service.wait_for_deployment(show_output=True)
El ejemplo completo está disponible en https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-cloud/model-register-and-deploy.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 para las imágenes ya creadas a partir de un modelo.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 Webservice 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
- auth_enabled
- bool
Indica si el objeto Webservice tiene habilitada la autenticación o no.
- compute_type
- str
Tipo de recurso de proceso en el que se implementa el objeto Webservice.
- created_time
- datetime
Cuando se creó el objeto Webservice.
- azureml.core.Webservice.description
Descripción del objeto Webservice.
- azureml.core.Webservice.tags
Diccionario de etiquetas del objeto Webservice.
- azureml.core.Webservice.name
Nombre del objeto Webservice.
- azureml.core.Webservice.properties
Diccionario de propiedades de clave-valor para el objeto Webservice. Estas propiedades no se pueden cambiar después de la implementación, pero se pueden agregar nuevos pares clave-valor.
- created_by
- str
Usuario que creó el objeto Webservice.
- error
- str
Si no se pudo implementar el objeto Webservice, contendrá el mensaje de error que explica por qué se produjo el error.
- azureml.core.Webservice.state
Estado actual del objeto Webservice.
- updated_time
- datetime
Última vez que se actualizó el objeto Webservice.
- azureml.core.Webservice.workspace
Área de trabajo de Azure Machine Learning que contiene este Webservice.
- token_auth_enabled
- bool
Indica si el objeto Webservice tiene habilitada la autenticación de token o no.
Métodos
check_for_existing_webservice |
Comprueba que el servicio web exista. |
delete |
Elimina este Webservice de su área de trabajo asociada. Esta llamada de función no es asincrónica. La llamada se ejecuta hasta que se elimina el recurso. Se genera una excepción WebserviceException si hay un problema al eliminar el modelo del servicio de administración de modelos. |
deploy |
Implementa un servicio web a partir de cero o más objetos Model. Esta función registrará los archivos de modelos proporcionados y creará una imagen en el recurso de proceso, todo ello asociado al elemento Workspace especificado. Use esta función cuando tenga un directorio de modelos para implementar que no se hayan registrado previamente. El servicio web resultante es un punto de conexión en tiempo real que se puede usar para las solicitudes de inferencia. Para más información, consulte Consumo de un modelo implementado como servicio web. |
deploy_from_image |
Implementa un Webservice a partir de un objeto Image. Use esta función si ya tiene un objeto Image creado para un modelo. El servicio web resultante es un punto de conexión en tiempo real que se puede usar para las solicitudes de inferencia. Para más información, consulte Consumo de un modelo implementado como servicio web. |
deploy_from_model |
Implementa un servicio web a partir de cero o más objetos Model. Esta función es similar a deploy, pero no registra los modelos. Use esta función si tiene objetos de modelo que ya están registrados. Esto creará una imagen en el recurso de proceso, asociada al objeto Workspace especificado. El servicio web resultante es un punto de conexión en tiempo real que se puede usar para las solicitudes de inferencia. Para más información, consulte Consumo de un modelo implementado como servicio web. |
deploy_local_from_model |
Compila e implementa un elemento LocalWebservice para las pruebas. Requiere que Docker esté instalado y configurado. |
deserialize |
Convierte un objeto JSON de respuesta del servicio de administración de modelos en un objeto Webservice. Producirá un error si el área de trabajo proporcionada no es el área de trabajo en la que está registrado el objeto Webservice. |
get_keys |
Recupera las claves de autenticación para este objeto Webservice. |
get_logs |
Recupera los registros de este Webservice. |
get_token |
Se recupera el token de autenticación de este Webservice, limitado al usuario actual. |
list |
Enumera los objetos Webservice asociados al elemento Workspace correspondiente. Los resultados devueltos se pueden filtrar mediante parámetros. |
regen_key |
Vuelve a generar una de las claves del objeto Webservice, ya sea la clave principal o la secundaria. Se genera una excepción WebserviceException si no se especifica |
run |
Llama a este Webservice con la entrada proporcionada. Método abstracto implementado por clases secundarias de Webservice. |
serialize |
Convierte este objeto Webservice en un diccionario serializado JSON. Use deserialize para volver a convertirlo en un objeto Webservice. |
update |
Actualiza los parámetros de Webservice. Este es un método abstracto implementado por clases secundarias de Webservice. Los parámetros posibles para actualizar varían en función del tipo secundario de Webservice. Por ejemplo, para servicios web de Azure Container Instances, consulte update para conocer los parámetros específicos. |
update_deployment_state |
Actualiza el estado actual del objeto en memoria. Realiza una actualización local de las propiedades del objeto en función del estado actual del objeto de nube correspondiente. Principalmente útil para el sondeo manual del estado de creación. |
wait_for_deployment |
Sondea automáticamente la implementación del objeto Webservice en ejecución. Espera a que el objeto Webservice alcance un estado terminal. Se producirá una excepción WebserviceException si alcanza un estado terminal no correcto o supera el tiempo de espera proporcionado. |
check_for_existing_webservice
Comprueba que el servicio web exista.
static check_for_existing_webservice(workspace, name, overwrite=False, request_func=None, check_func=None)
Parámetros
- workspace
- Workspace
- name
- str
- overwrite
- bool
- request_func
- <xref:function>
Función para solicitar al servicio que compruebe si existe el nombre del servicio
- check_func
- <xref:function>
Función para comprobar el contenido de la respuesta de request_func
Excepciones
delete
Elimina este Webservice de su área de trabajo asociada.
Esta llamada de función no es asincrónica. La llamada se ejecuta hasta que se elimina el recurso. Se genera una excepción WebserviceException si hay un problema al eliminar el modelo del servicio de administración de modelos.
delete()
Excepciones
deploy
Implementa un servicio web a partir de cero o más objetos Model.
Esta función registrará los archivos de modelos proporcionados y creará una imagen en el recurso de proceso, todo ello asociado al elemento Workspace especificado. Use esta función cuando tenga un directorio de modelos para implementar que no se hayan registrado previamente.
El servicio web resultante es un punto de conexión en tiempo real que se puede usar para las solicitudes de inferencia. Para más información, consulte Consumo de un modelo implementado como servicio web.
static deploy(workspace, name, model_paths, image_config, deployment_config=None, deployment_target=None, overwrite=False)
Parámetros
- name
- str
Nombre que se va a dar al servicio implementado. Debe ser único para el área de trabajo, solo debe estar formado por letras minúsculas, números o guiones, debe comenzar por una letra y tener entre 3 y 32 caracteres de longitud.
Lista de rutas de acceso en disco a archivos o carpetas del modelo. Puede ser una lista vacía.
- image_config
- ImageConfig
Objeto ImageConfig que se usa para determinar las propiedades de imagen necesarias.
- deployment_config
- WebserviceDeploymentConfiguration
Objeto WebserviceDeploymentConfiguration que se usa para configurar el servicio web. Si no se proporciona ninguno, se usará un objeto de configuración vacío en función del destino deseado.
- deployment_target
- ComputeTarget
Recurso ComputeTarget en el que se va a implementar el objeto Webservice. Como Azure Container Instances no tiene asociado ningún recurso ComputeTarget, deje None en este parámetro al implementar en Azure Container Instances.
- overwrite
- bool
Sobrescribe el servicio existente si ya existe un servicio con ese nombre.
Devoluciones
Objeto Webservice correspondiente al servicio web implementado.
Tipo de valor devuelto
Excepciones
deploy_from_image
Implementa un Webservice a partir de un objeto Image.
Use esta función si ya tiene un objeto Image creado para un modelo.
El servicio web resultante es un punto de conexión en tiempo real que se puede usar para las solicitudes de inferencia. Para más información, consulte Consumo de un modelo implementado como servicio web.
static deploy_from_image(workspace, name, image, deployment_config=None, deployment_target=None, overwrite=False)
Parámetros
- name
- str
Nombre que se va a dar al servicio implementado. Debe ser único para el área de trabajo, solo debe estar formado por letras minúsculas, números o guiones, debe comenzar por una letra y tener entre 3 y 32 caracteres de longitud.
- deployment_config
- WebserviceDeploymentConfiguration
Objeto WebserviceDeploymentConfiguration que se usa para configurar el servicio web. Si no se proporciona ninguno, se usará un objeto de configuración vacío en función del destino deseado.
- deployment_target
- ComputeTarget
Recurso ComputeTarget en el que se va a implementar el objeto Webservice. Como Azure Container Instances no tiene asociado ningún recurso ComputeTarget, deje None en este parámetro al implementar en Azure Container Instances.
- overwrite
- bool
Sobrescribe el servicio existente si ya existe un servicio con ese nombre.
Devoluciones
Objeto Webservice correspondiente al servicio web implementado.
Tipo de valor devuelto
Excepciones
deploy_from_model
Implementa un servicio web a partir de cero o más objetos Model.
Esta función es similar a deploy, pero no registra los modelos. Use esta función si tiene objetos de modelo que ya están registrados. Esto creará una imagen en el recurso de proceso, asociada al objeto Workspace especificado.
El servicio web resultante es un punto de conexión en tiempo real que se puede usar para las solicitudes de inferencia. Para más información, consulte Consumo de un modelo implementado como servicio web.
static deploy_from_model(workspace, name, models, image_config, deployment_config=None, deployment_target=None, overwrite=False)
Parámetros
- name
- str
Nombre que se va a dar al servicio implementado. Debe ser único para el área de trabajo, solo debe estar formado por letras minúsculas, números o guiones, debe comenzar por una letra y tener entre 3 y 32 caracteres de longitud.
- image_config
- ImageConfig
Objeto ImageConfig que se usa para determinar las propiedades de imagen necesarias.
- deployment_config
- WebserviceDeploymentConfiguration
Objeto WebserviceDeploymentConfiguration que se usa para configurar el servicio web. Si no se proporciona ninguno, se usará un objeto de configuración vacío en función del destino deseado.
- deployment_target
- ComputeTarget
Recurso ComputeTarget en el que se va a implementar el objeto Webservice. Dado que ACI no tiene un elemento ComputeTarget asociado, deje este parámetro como None para la implementación en ACI.
- overwrite
- bool
Sobrescribe el servicio existente si ya existe un servicio con ese nombre.
Devoluciones
Objeto Webservice correspondiente al servicio web implementado.
Tipo de valor devuelto
Excepciones
deploy_local_from_model
Compila e implementa un elemento LocalWebservice para las pruebas.
Requiere que Docker esté instalado y configurado.
static deploy_local_from_model(workspace, name, models, image_config, deployment_config=None, wait=False)
Parámetros
- name
- str
Nombre que se va a dar al servicio implementado. Debe ser único en el equipo local.
- image_config
- ImageConfig
Objeto ImageConfig que se usa para determinar las propiedades de la imagen del servicio necesarias.
- deployment_config
- LocalWebserviceDeploymentConfiguration
Objeto LocalWebserviceDeploymentConfiguration que se usa para configurar el servicio web. Si no se proporciona uno, se usará un objeto de configuración vacío.
- wait
- bool
Indica si se va a esperar a que el contenedor Docker de LocalWebservice informe un estado correcto. Produce una excepción si el contenedor se bloquea. El valor predeterminado es False.
Tipo de valor devuelto
Excepciones
deserialize
Convierte un objeto JSON de respuesta del servicio de administración de modelos en un objeto Webservice.
Producirá un error si el área de trabajo proporcionada no es el área de trabajo en la que está registrado el objeto Webservice.
deserialize(workspace, webservice_payload)
Parámetros
- cls
Indica que se trata de un método de clase.
Devoluciones
Representación de Webservice del objeto JSON proporcionado.
Tipo de valor devuelto
Excepciones
get_keys
Recupera las claves de autenticación para este objeto Webservice.
get_keys()
Devoluciones
Claves de autenticación para este objeto Webservice.
Tipo de valor devuelto
Excepciones
get_logs
Recupera los registros de este Webservice.
get_logs(num_lines=5000, init=False)
Parámetros
- num_lines
- int
Número máximo de líneas de registro que se van a recuperar.
Devoluciones
Registros de este Webservice.
Tipo de valor devuelto
Excepciones
get_token
Se recupera el token de autenticación de este Webservice, limitado al usuario actual.
get_token()
Devoluciones
Token de autenticación para este Webservice y cuándo se debe actualizar después.
Tipo de valor devuelto
Excepciones
list
Enumera los objetos Webservice asociados al elemento Workspace correspondiente.
Los resultados devueltos se pueden filtrar mediante parámetros.
static list(workspace, compute_type=None, image_name=None, image_id=None, model_name=None, model_id=None, tags=None, properties=None, image_digest=None)
Parámetros
- compute_type
- str
Filtra para enumerar solo tipos de Workspace específicos. Las opciones son "ACI" y "AKS".
- image_name
- str
Filtra la lista para que incluya solo objetos Webservice implementados con el nombre de imagen específico.
- image_id
- str
Filtra la lista para que incluya solo objetos Webservice implementados con el identificador de imagen específico.
- model_name
- str
Filtra la lista para que incluya solo objetos Webservice implementados con el nombre de modelo específico.
- model_id
- str
Filtra la lista para que incluya solo objetos Webservice implementados con el identificador de modelo específico.
- tags
- list
Filtra en función de la lista proporcionada, ya sea por "clave" o "[clave, valor]". Por ejemplo, ['clave', ['clave2', 'valor de clave2']]
- properties
- list
Filtra en función de la lista proporcionada, ya sea por "clave" o "[clave, valor]". Por ejemplo, ['clave', ['clave2', 'valor de clave2']]
- image_digest
- str
Filtra la lista para que incluya solo objetos Webservice implementados con el hash de imagen específico.
Devoluciones
Lista filtrada de objetos Webservice del objeto Workspace proporcionado.
Tipo de valor devuelto
Excepciones
regen_key
Vuelve a generar una de las claves del objeto Webservice, ya sea la clave principal o la secundaria.
Se genera una excepción WebserviceException si no se especifica key
o su valor no es "Primary" (Principal) o "Secondary" (Secundaria).
regen_key(key, set_key=None)
Parámetros
- key
- str
Clave que se va a regenerar. Las opciones son "Primary" (Principal) o "Secondary" (Secundaria).
- set_key
- str
Valor especificado por el usuario que permite la especificación manual del valor de la clave
Excepciones
run
Llama a este Webservice con la entrada proporcionada.
Método abstracto implementado por clases secundarias de Webservice.
abstract run(input)
Parámetros
- input
- <xref:varies>
Datos de entrada con los que se llamará al Webservice. Estos son los datos que el modelo de Machine Learning espera como entrada para ejecutar predicciones.
Devoluciones
Resultado de llamar a Webservice. Esto devolverá las predicciones que se ejecutan desde el modelo de Machine Learning.
Tipo de valor devuelto
Excepciones
serialize
Convierte este objeto Webservice en un diccionario serializado JSON.
Use deserialize para volver a convertirlo en un objeto Webservice.
serialize()
Devoluciones
Representación JSON de este servicio web.
Tipo de valor devuelto
Excepciones
update
Actualiza los parámetros de Webservice.
Este es un método abstracto implementado por clases secundarias de Webservice. Los parámetros posibles para actualizar varían en función del tipo secundario de Webservice. Por ejemplo, para servicios web de Azure Container Instances, consulte update para conocer los parámetros específicos.
abstract update(*args)
Parámetros
- args
- <xref:varies>
Valores que se van a actualizar.
Excepciones
update_deployment_state
Actualiza el estado actual del objeto en memoria.
Realiza una actualización local de las propiedades del objeto en función del estado actual del objeto de nube correspondiente. Principalmente útil para el sondeo manual del estado de creación.
update_deployment_state()
Excepciones
wait_for_deployment
Sondea automáticamente la implementación del objeto Webservice en ejecución.
Espera a que el objeto Webservice alcance un estado terminal. Se producirá una excepción WebserviceException si alcanza un estado terminal no correcto o supera el tiempo de espera proporcionado.
wait_for_deployment(show_output=False, timeout_sec=None)
Parámetros
- timeout_sec
- float
Genera una excepción si la implementación supera el tiempo de espera especificado.
Excepciones
Comentarios
Enviar y ver comentarios de