Webservice Classe
Définit la fonctionnalité de base pour le déploiement de modèles en tant que points de terminaison de service web dans Azure Machine Learning.
Le constructeur webservice est utilisé pour récupérer une représentation cloud d’un objet Webservice associé à l’espace de travail fourni. Retourne une instance d’une classe enfant correspondant au type spécifique de l’objet Webservice récupéré. La classe Webservice permet de déployer des modèles Machine Learning à partir d’un ou Model d’un Image objet.
Pour plus d’informations sur l’utilisation de Webservice, consultez Déployer des modèles avec Azure Machine Learning.
Initialisez l’instance webservice.
Le constructeur Webservice récupère une représentation cloud d’un objet Webservice associé à l’espace de travail fourni. Elle retourne une instance d’une classe enfant correspondant au type spécifique de l’objet Webservice récupéré.
Constructeur
Webservice(workspace, name)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
Objet d’espace de travail contenant l’objet Webservice à récupérer. |
name
Obligatoire
|
Nom de l’objet Webservice à récupérer. |
workspace
Obligatoire
|
Objet d’espace de travail contenant l’objet Webservice à récupérer. |
name
Obligatoire
|
Nom de l’objet Webservice à récupérer. |
Remarques
L’exemple suivant montre le modèle de déploiement recommandé où vous créez d’abord un objet de configuration avec la deploy_configuration
méthode de la classe enfant de Webservice (dans ce cas AksWebservice) puis utilisez la configuration avec la deploy
méthode de la Model classe.
# 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)
L’exemple suivant montre comment rechercher un existant AciWebservice dans un espace de travail et le supprimer s’il existe afin que le nom puisse être réutilisé.
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)
Il existe plusieurs façons de déployer un modèle en tant que service web, notamment avec les éléments suivants :
deploy
méthode des Model modèles déjà inscrits dans l’espace de travail.deploy_from_image
méthode d’images Webservice déjà créées à partir d’un modèle.deploy_from_model
méthode des Webservice modèles déjà inscrits dans l’espace de travail. Cette méthode crée une image.deploy
méthode de l’objet Webservice, qui inscrit un modèle et crée une image.
Pour plus d’informations sur l’utilisation des services web, consultez
La section Variables répertorie les attributs d’une représentation locale de l’objet webservice cloud. Ces variables doivent être considérées comme en lecture seule. La modification de leurs valeurs ne sera pas reflétée dans l’objet cloud correspondant.
Variables
Nom | Description |
---|---|
auth_enabled
|
Indique si l’authentification du service Web est activée ou non. |
compute_type
|
Le type de calcul sur lequel le service Web est déployé. |
created_time
|
Lorsque le service Web a été créé. |
azureml.core.Webservice.description
|
Description de l’objet Webservice. |
azureml.core.Webservice.tags
|
Dictionnaire de balises pour l’objet Webservice. |
azureml.core.Webservice.name
|
Nom du service Web. |
azureml.core.Webservice.properties
|
Dictionnaire des propriétés de valeur de clé pour le service Web. Ces propriétés ne peuvent pas être modifiées après le déploiement, mais de nouvelles paires clé-valeur peuvent être ajoutées. |
created_by
|
Utilisateur qui a créé le service Web. |
error
|
Si le service Web n’a pas pu déployer, il contient le message d’erreur pour la raison de son échec. |
azureml.core.Webservice.state
|
État actuel du service Web. |
updated_time
|
Dernière fois que le service Web a été mis à jour. |
azureml.core.Webservice.workspace
|
Espace de travail Azure Machine Learning qui contient ce service web. |
token_auth_enabled
|
Indique si l’authentification de jeton est activée ou non pour le service WebService. |
Méthodes
check_for_existing_webservice |
Vérifiez que le service web existe. |
delete |
Supprimez ce service Web de son espace de travail associé. Cet appel de fonction n’est pas asynchrone. L’appel s’exécute jusqu’à ce que la ressource soit supprimée. Un WebserviceException problème est déclenché s’il existe un problème lors de la suppression du modèle du service de gestion des modèles. |
deploy |
Déployez un service Web à partir de zéro ou plusieurs Model objets. Cette fonction enregistre tous les fichiers de modèles fournis et crée une image dans le processus, toutes associées au fichier spécifié Workspace. Utilisez cette fonction lorsque vous avez un répertoire de modèles à déployer qui n’ont pas été précédemment inscrits. Le service Web résultant est un point de terminaison en temps réel qui peut être utilisé pour les demandes d’inférence. Pour plus d’informations, consultez Consommer un modèle déployé en tant que service web. |
deploy_from_image |
Déployez un service Web à partir d’un Image objet. Utilisez cette fonction si vous disposez déjà d’un objet Image créé pour un modèle. Le service Web résultant est un point de terminaison en temps réel qui peut être utilisé pour les demandes d’inférence. Pour plus d’informations, consultez Consommer un modèle déployé en tant que service web. |
deploy_from_model |
Déployez un service Web à partir de zéro ou plusieurs Model objets. Cette fonction est similaire à deploy, mais n’inscrit pas les modèles. Utilisez cette fonction si vous avez des objets de modèle déjà inscrits. Cela crée une image dans le processus, associée à l’espace de travail spécifié. Le service Web résultant est un point de terminaison en temps réel qui peut être utilisé pour les demandes d’inférence. Pour plus d’informations, consultez Consommer un modèle déployé en tant que service web. |
deploy_local_from_model |
Générez et déployez un LocalWebservice test. Nécessite l’installation et la configuration de Docker. |
deserialize |
Convertissez un objet JSON de réponse du service de gestion des modèles en objet Webservice. Échoue si l’espace de travail fourni n’est pas l’espace de travail sous lequel le service Web est inscrit. |
get_keys |
Récupérez les clés d’authentification pour ce service Web. |
get_logs |
Récupérez les journaux d’activité pour ce service Web. |
get_token |
Récupérez le jeton d’authentification pour ce service Web, limité à l’utilisateur actuel. |
list |
Répertorier les webservices associés au fichier .Workspace Les résultats retournés peuvent être filtrés à l’aide de paramètres. |
regen_key |
Régénérez l’une des clés du service Web, soit la clé « Primaire » ou « Secondaire ». Un WebserviceException est déclenché s’il |
run |
Appelez ce service Web avec l’entrée fournie. Méthode abstraite implémentée par les classes enfants de Webservice. |
serialize |
Convertissez cet objet Webservice en dictionnaire sérialisé JSON. Permet deserialize de revenir en objet Webservice. |
update |
Mettez à jour les paramètres du service Web. Il s’agit d’une méthode abstraite implémentée par les classes enfants de Webservice. Les paramètres possibles à mettre à jour varient en fonction du type enfant du service Web. Par exemple, pour les webservices Azure Container Instances, consultez update les paramètres spécifiques. |
update_deployment_state |
Actualisez l’état actuel de l’objet en mémoire. Effectuez une mise à jour sur place des propriétés de l’objet en fonction de l’état actuel de l’objet cloud correspondant. Principalement utile pour l’interrogation manuelle de l’état de création. |
wait_for_deployment |
Interrogez automatiquement le déploiement web en cours d’exécution. Attendez que le service Web atteigne un état de terminal. Lève une WebserviceException valeur si elle atteint un état terminal non réussi ou dépasse le délai d’expiration fourni. |
check_for_existing_webservice
Vérifiez que le service web existe.
static check_for_existing_webservice(workspace, name, overwrite=False, request_func=None, check_func=None)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
|
name
Obligatoire
|
|
overwrite
|
Valeur par défaut: False
|
request_func
|
<xref:function>
function to request service to check if service name exists Valeur par défaut: None
|
check_func
|
<xref:function>
fonction pour vérifier le contenu de la réponse de request_func Valeur par défaut: None
|
Exceptions
Type | Description |
---|---|
delete
Supprimez ce service Web de son espace de travail associé.
Cet appel de fonction n’est pas asynchrone. L’appel s’exécute jusqu’à ce que la ressource soit supprimée. Un WebserviceException problème est déclenché s’il existe un problème lors de la suppression du modèle du service de gestion des modèles.
delete()
Exceptions
Type | Description |
---|---|
deploy
Déployez un service Web à partir de zéro ou plusieurs Model objets.
Cette fonction enregistre tous les fichiers de modèles fournis et crée une image dans le processus, toutes associées au fichier spécifié Workspace. Utilisez cette fonction lorsque vous avez un répertoire de modèles à déployer qui n’ont pas été précédemment inscrits.
Le service Web résultant est un point de terminaison en temps réel qui peut être utilisé pour les demandes d’inférence. Pour plus d’informations, consultez Consommer un modèle déployé en tant que service web.
static deploy(workspace, name, model_paths, image_config, deployment_config=None, deployment_target=None, overwrite=False)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
Objet Workspace auquel associer le service Web. |
name
Obligatoire
|
Nom à attribuer au service déployé. Doit être unique à l’espace de travail, se compose uniquement de lettres minuscules, de chiffres ou de tirets, de commencer par une lettre et d’être comprise entre 3 et 32 caractères. |
model_paths
Obligatoire
|
Liste des chemins d’accès sur disque aux fichiers ou dossiers de modèle. Il peut s’agir d’une liste vide. |
image_config
Obligatoire
|
Objet ImageConfig utilisé pour déterminer les propriétés d’image requises. |
deployment_config
|
WebserviceDeploymentConfiguration utilisé pour configurer le service web. Si aucun objet de configuration n’est fourni, un objet de configuration vide est utilisé en fonction de la cible souhaitée. Valeur par défaut: None
|
deployment_target
|
A ComputeTarget pour déployer le service Web vers. Étant donné qu’Azure Container Instances n’a pas d’associé ComputeTarget, laissez ce paramètre comme Aucun à déployer sur Azure Container Instances. Valeur par défaut: None
|
overwrite
|
Remplacez le service existant si le service portant le nom existe déjà. Valeur par défaut: False
|
Retours
Type | Description |
---|---|
Objet Webservice correspondant au service web déployé. |
Exceptions
Type | Description |
---|---|
deploy_from_image
Déployez un service Web à partir d’un Image objet.
Utilisez cette fonction si vous disposez déjà d’un objet Image créé pour un modèle.
Le service Web résultant est un point de terminaison en temps réel qui peut être utilisé pour les demandes d’inférence. Pour plus d’informations, consultez Consommer un modèle déployé en tant que service web.
static deploy_from_image(workspace, name, image, deployment_config=None, deployment_target=None, overwrite=False)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
Objet Workspace auquel associer le service Web. |
name
Obligatoire
|
Nom à attribuer au service déployé. Doit être unique à l’espace de travail, se compose uniquement de lettres minuscules, de chiffres ou de tirets, de commencer par une lettre et d’être comprise entre 3 et 32 caractères. |
image
Obligatoire
|
Objet Image à déployer. |
deployment_config
|
WebserviceDeploymentConfiguration utilisé pour configurer le service web. Si aucun objet de configuration n’est fourni, un objet de configuration vide est utilisé en fonction de la cible souhaitée. Valeur par défaut: None
|
deployment_target
|
A ComputeTarget pour déployer le service Web vers. Étant donné qu’Azure Container Instances n’a pas d’associé ComputeTarget, laissez ce paramètre comme Aucun à déployer sur Azure Container Instances. Valeur par défaut: None
|
overwrite
|
Remplacez le service existant si le service portant le nom existe déjà. Valeur par défaut: False
|
Retours
Type | Description |
---|---|
Objet Webservice correspondant au service web déployé. |
Exceptions
Type | Description |
---|---|
deploy_from_model
Déployez un service Web à partir de zéro ou plusieurs Model objets.
Cette fonction est similaire à deploy, mais n’inscrit pas les modèles. Utilisez cette fonction si vous avez des objets de modèle déjà inscrits. Cela crée une image dans le processus, associée à l’espace de travail spécifié.
Le service Web résultant est un point de terminaison en temps réel qui peut être utilisé pour les demandes d’inférence. Pour plus d’informations, consultez Consommer un modèle déployé en tant que service web.
static deploy_from_model(workspace, name, models, image_config, deployment_config=None, deployment_target=None, overwrite=False)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
Objet Workspace auquel associer le service Web. |
name
Obligatoire
|
Nom à attribuer au service déployé. Doit être unique à l’espace de travail, se compose uniquement de lettres minuscules, de chiffres ou de tirets, de commencer par une lettre et d’être comprise entre 3 et 32 caractères. |
models
Obligatoire
|
Liste d’objets de modèle. Il peut s’agir d’une liste vide. |
image_config
Obligatoire
|
Objet ImageConfig utilisé pour déterminer les propriétés d’image requises. |
deployment_config
|
WebserviceDeploymentConfiguration utilisé pour configurer le service web. Si aucun objet de configuration n’est fourni, un objet de configuration vide est utilisé en fonction de la cible souhaitée. Valeur par défaut: None
|
deployment_target
|
A ComputeTarget pour déployer le service Web vers. Comme ACI n’a pas d’associé ComputeTarget, laissez ce paramètre comme Aucun à déployer sur ACI. Valeur par défaut: None
|
overwrite
|
Remplacez le service existant si le service portant le nom existe déjà. Valeur par défaut: False
|
Retours
Type | Description |
---|---|
Objet Webservice correspondant au service web déployé. |
Exceptions
Type | Description |
---|---|
deploy_local_from_model
Générez et déployez un LocalWebservice test.
Nécessite l’installation et la configuration de Docker.
static deploy_local_from_model(workspace, name, models, image_config, deployment_config=None, wait=False)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
Objet Workspace auquel associer le service Web. |
name
Obligatoire
|
Nom à attribuer au service déployé. Doit être unique sur l’ordinateur local. |
models
Obligatoire
|
Liste d’objets de modèle. Il peut s’agir d’une liste vide. |
image_config
Obligatoire
|
Objet ImageConfig utilisé pour déterminer les propriétés d’image de service requises. |
deployment_config
|
LocalWebserviceDeploymentConfiguration utilisé pour configurer le service web. Si aucun objet de configuration n’est fourni, un objet de configuration vide sera utilisé. Valeur par défaut: None
|
wait
|
Indique s’il faut attendre que le conteneur Docker de LocalWebservice signale comme sain. Lève une exception si le conteneur se bloque. La valeur par défaut est False. Valeur par défaut: False
|
Retours
Type | Description |
---|---|
Exceptions
Type | Description |
---|---|
deserialize
Convertissez un objet JSON de réponse du service de gestion des modèles en objet Webservice.
Échoue si l’espace de travail fourni n’est pas l’espace de travail sous lequel le service Web est inscrit.
deserialize(workspace, webservice_payload)
Paramètres
Nom | Description |
---|---|
cls
Obligatoire
|
Indique qu’il s’agit d’une méthode de classe. |
workspace
Obligatoire
|
Objet d’espace de travail sous lequel le service Web est inscrit. |
webservice_payload
Obligatoire
|
Objet JSON à convertir en objet Webservice. |
Retours
Type | Description |
---|---|
Représentation Webservice de l’objet JSON fourni. |
get_keys
Récupérez les clés d’authentification pour ce service Web.
get_keys()
Retours
Type | Description |
---|---|
Clés d’authentification pour ce service Web. |
Exceptions
Type | Description |
---|---|
get_logs
Récupérez les journaux d’activité pour ce service Web.
get_logs(num_lines=5000, init=False)
Paramètres
Nom | Description |
---|---|
num_lines
|
Nombre maximal de lignes de journal à récupérer. Valeur par défaut: 5000
|
init
|
Obtenir les journaux d’activité du conteneur init Valeur par défaut: False
|
Retours
Type | Description |
---|---|
Journaux d’activité de ce service Web. |
Exceptions
Type | Description |
---|---|
get_token
Récupérez le jeton d’authentification pour ce service Web, limité à l’utilisateur actuel.
get_token()
Retours
Type | Description |
---|---|
Jeton d’authentification pour ce service Web et quand il doit être actualisé après. |
Exceptions
Type | Description |
---|---|
list
Répertorier les webservices associés au fichier .Workspace
Les résultats retournés peuvent être filtrés à l’aide de paramètres.
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)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
Objet Workspace dans lequel répertorier les webservices. |
compute_type
|
Filtrez pour répertorier uniquement des types de services Web spécifiques. Les options sont « ACI », « AKS ». Valeur par défaut: None
|
image_name
|
Filtrez la liste pour inclure uniquement les services Web déployés avec le nom d’image spécifique. Valeur par défaut: None
|
image_id
|
Filtrez la liste pour inclure uniquement les webservices déployés avec l’ID d’image spécifique. Valeur par défaut: None
|
model_name
|
Filtrez la liste pour inclure uniquement les webservices déployés avec le nom de modèle spécifique. Valeur par défaut: None
|
model_id
|
Filtrez la liste pour inclure uniquement les webservices déployés avec l’ID de modèle spécifique. Valeur par défaut: None
|
tags
|
Filtre en fonction de la liste fournie, par « clé » ou « [clé, valeur] ». Ex. ['key', ['key2', 'key2 value']] Valeur par défaut: None
|
properties
|
Filtre en fonction de la liste fournie, par « clé » ou « [clé, valeur] ». Ex. ['key', ['key2', 'key2 value']] Valeur par défaut: None
|
image_digest
|
Liste de filtres pour inclure uniquement les webservices déployés avec le digest d’image spécifique. Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Liste filtrée de webservices dans l’espace de travail fourni. |
Exceptions
Type | Description |
---|---|
regen_key
Régénérez l’une des clés du service Web, soit la clé « Primaire » ou « Secondaire ».
Un WebserviceException est déclenché s’il key
n’est pas spécifié ou n’est pas « Primary » ou « Secondary ».
regen_key(key, set_key=None)
Paramètres
Nom | Description |
---|---|
key
Obligatoire
|
Clé à régénérer. Les options sont « Primary » ou « Secondary ». |
set_key
|
Valeur spécifiée par l’utilisateur autorisant la spécification manuelle de la valeur de la clé Valeur par défaut: None
|
Exceptions
Type | Description |
---|---|
run
Appelez ce service Web avec l’entrée fournie.
Méthode abstraite implémentée par les classes enfants de Webservice.
abstract run(input)
Paramètres
Nom | Description |
---|---|
input
Obligatoire
|
<xref:varies>
Données d’entrée avec utilisant le service Web. Il s’agit des données attendues par votre modèle Machine Learning en tant qu’entrée pour exécuter des prédictions. |
Retours
Type | Description |
---|---|
Résultat de l’appel du service Web. Cela retourne les prédictions exécutées à partir de votre modèle Machine Learning. |
Exceptions
Type | Description |
---|---|
serialize
Convertissez cet objet Webservice en dictionnaire sérialisé JSON.
Permet deserialize de revenir en objet Webservice.
serialize()
Retours
Type | Description |
---|---|
Représentation JSON de ce service Web. |
update
Mettez à jour les paramètres du service Web.
Il s’agit d’une méthode abstraite implémentée par les classes enfants de Webservice. Les paramètres possibles à mettre à jour varient en fonction du type enfant du service Web. Par exemple, pour les webservices Azure Container Instances, consultez update les paramètres spécifiques.
abstract update(*args)
Paramètres
Nom | Description |
---|---|
args
Obligatoire
|
<xref:varies>
Valeurs à mettre à jour. |
Exceptions
Type | Description |
---|---|
update_deployment_state
Actualisez l’état actuel de l’objet en mémoire.
Effectuez une mise à jour sur place des propriétés de l’objet en fonction de l’état actuel de l’objet cloud correspondant. Principalement utile pour l’interrogation manuelle de l’état de création.
update_deployment_state()
wait_for_deployment
Interrogez automatiquement le déploiement web en cours d’exécution.
Attendez que le service Web atteigne un état de terminal. Lève une WebserviceException valeur si elle atteint un état terminal non réussi ou dépasse le délai d’expiration fourni.
wait_for_deployment(show_output=False, timeout_sec=None)
Paramètres
Nom | Description |
---|---|
show_output
|
Indique s’il faut imprimer une sortie plus détaillée. Valeur par défaut: False
|
timeout_sec
|
Déclenchez une exception si le déploiement dépasse le délai d’expiration donné. Valeur par défaut: None
|
Exceptions
Type | Description |
---|---|