AksWebservice Classe
Représente un modèle Machine Learning déployé en tant que point de terminaison de service web sur Azure Kubernetes Service.
Un service déployé est créé à partir d’un modèle, d’un script et des fichiers associés. Le service web résultant est un point de terminaison HTTP à charge équilibrée avec une API REST. Vous pouvez envoyer des données à cette API et recevoir la prédiction retournée par le modèle.
AksWebservice déploie un seul service sur un seul point de terminaison. Pour déployer plusieurs services sur un seul point de terminaison, utilisez la classe AksEndpoint.
Pour plus d’informations, consultez Déployer un modèle sur un cluster Azure Kubernetes Service.
Initialisez le instance webservice.
Le constructeur Webservice récupère une représentation cloud d’un objet Webservice associé à l’espace de travail fourni. Il retourne une instance d’une classe enfant correspondant au type spécifique de l’objet Webservice récupéré.
- Héritage
-
AksWebservice
Constructeur
AksWebservice(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. |
Remarques
Le modèle de déploiement recommandé consiste à créer un objet de configuration de déploiement avec la méthode deploy_configuration
, puis à l’utiliser avec la méthode deploy
de la classe Model, comme indiqué ci-dessous.
# 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)
Un exemple complet est disponible sur https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb
Il existe plusieurs façons de déployer un modèle en tant que service web, notamment avec les méthodes suivantes :
Méthode
deploy
de Model pour les modèles déjà inscrits dans l’espace de travail.Méthode
deploy_from_image
de Webservice.Méthode
deploy_from_model
de Webservice pour les modèles déjà inscrits dans l’espace de travail. Cette méthode permet de créer une image.Méthode
deploy
de 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 liste les attributs d’une représentation locale de l’objet cloud AksWebservice. Ces variables doivent être considérées comme étant en lecture seule. Le changement de leurs valeurs n’est pas reflété dans l’objet cloud correspondant.
Variables
Nom | Description |
---|---|
enable_app_insights
|
Indique si la journalisation AppInsights est activée pour le Webservice. |
autoscaler
|
Objet Autoscaler du Webservice. |
compute_name
|
Nom du ComputeTarget sur lequel le Webservice est déployé. |
container_resource_requirements
|
Impératifs liés aux ressources d’un conteneur pour le Webservice. |
liveness_probe_requirements
|
Impératifs de la probe liveness pour le Webservice. |
data_collection
|
Objet DataCollection du Webservice. |
max_concurrent_requests_per_container
|
Nombre maximal de requêtes simultanées par conteneur pour le Webservice. |
max_request_wait_time
|
Temps d’attente maximal des requêtes pour le Webservice, en millisecondes. |
num_replicas
|
Nombre de réplicas pour le Webservice. Chaque réplica correspond à un pod AKS. |
scoring_timeout_ms
|
Délai d’expiration de scoring pour le Webservice, en millisecondes. |
azureml.core.webservice.AksWebservice.scoring_uri
|
Point de terminaison de scoring du Webservice |
is_default
|
Indique si le Webservice est la version par défaut du AksEndpoint parent. |
traffic_percentile
|
Pourcentage de trafic à router vers le Webservice dans le AksEndpoint parent. |
version_type
|
Type de version du Webservice dans le AksEndpoint parent. |
token_auth_enabled
|
Indique si l’authentification par jeton est activée pour le Webservice. |
environment
|
Objet Environment utilisé pour créer le Webservice. |
azureml.core.webservice.AksWebservice.models
|
Liste des modèles déployés sur le Webservice. |
deployment_status
|
État du déploiement du Webservice. |
namespace
|
Espace de noms AKS du Webservice. |
azureml.core.webservice.AksWebservice.swagger_uri
|
Point de terminaison Swagger du Webservice. |
Méthodes
add_properties |
Ajoutez des paires clé-valeur au dictionnaire de propriétés de ce Webservice. |
add_tags |
Ajoutez des paires clé-valeur au dictionnaire d’étiquettes de ce Webservice. Lève WebserviceException. |
deploy_configuration |
Crée un objet de configuration à déployer sur une cible de calcul AKS. |
get_access_token |
Récupère le jeton d’authentification pour ce Webservice. |
get_token |
DÉPRÉCIÉ. Utilisez à la place la méthode Récupère le jeton d’authentification pour ce Webservice. |
remove_tags |
Supprime les clés spécifiées du dictionnaire d’étiquettes de ce Webservice. |
run |
Appelle ce Webservice avec l’entrée fournie. |
serialize |
Convertit ce Webservice en dictionnaire JSON sérialisé. |
update |
Met à jour le Webservice avec les propriétés fournies. Les valeurs pour lesquelles None est spécifié restent inchangées dans ce Webservice. |
add_properties
Ajoutez des paires clé-valeur au dictionnaire de propriétés de ce Webservice.
add_properties(properties)
Paramètres
Nom | Description |
---|---|
properties
Obligatoire
|
Dictionnaire de propriétés à ajouter. |
add_tags
Ajoutez des paires clé-valeur au dictionnaire d’étiquettes de ce Webservice.
Lève WebserviceException.
add_tags(tags)
Paramètres
Nom | Description |
---|---|
tags
Obligatoire
|
Dictionnaire d’étiquettes à ajouter. |
Exceptions
Type | Description |
---|---|
deploy_configuration
Crée un objet de configuration à déployer sur une cible de calcul 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)
Paramètres
Nom | Description |
---|---|
autoscale_enabled
|
Indique s’il est nécessaire ou non d’activer la mise à l’échelle automatique pour ce Webservice. La valeur par défaut est True si num_replicas a la valeur None. Valeur par défaut: None
|
autoscale_min_replicas
|
Nombre minimal de conteneurs à utiliser durant la mise à l’échelle automatique de ce Webservice. La valeur par défaut est de 1. Valeur par défaut: None
|
autoscale_max_replicas
|
Nombre maximal de conteneurs à utiliser durant la mise à l’échelle automatique de ce Webservice. La valeur par défaut est 10. Valeur par défaut: None
|
autoscale_refresh_seconds
|
Fréquence à laquelle l’autoscaler doit tenter de mettre à l’échelle ce Webservice. La valeur par défaut est de 1. Valeur par défaut: None
|
autoscale_target_utilization
|
Utilisation cible en pourcentage que l’autoscaler doit tenter de conserver pour ce Webservice. La valeur par défaut est 70. Valeur par défaut: None
|
collect_model_data
|
Indique s’il est nécessaire ou non d’activer la collecte de données de modèle pour ce Webservice. Valeur par défaut False. Valeur par défaut: None
|
auth_enabled
|
Indique s’il est nécessaire ou non d’activer l’authentification par clé pour ce Webservice. La valeur par défaut est True. Valeur par défaut: None
|
cpu_cores
|
Nombre de cœurs de processeur à allouer pour ce Webservice. Il peut s’agir d’un nombre décimal. La valeur par défaut est 0.1. Correspond à la demande principale du pod, et non à la limite, dans le service Azure Kubernetes. Valeur par défaut: None
|
memory_gb
|
Quantité de mémoire (en Go) à allouer pour ce Webservice. Il peut s’agir d’un nombre décimal. La valeur par défaut est 0.5. Correspond à la demande de mémoire du pod, et non à la limite, dans le service Azure Kubernetes. Valeur par défaut: None
|
enable_app_insights
|
Indique s’il est nécessaire ou non d’activer la journalisation Application Insights pour ce Webservice. Valeur par défaut False. Valeur par défaut: None
|
scoring_timeout_ms
|
Délai d’expiration à appliquer pour le scoring des appels à ce Webservice. La valeur par défaut est 60000. Valeur par défaut: None
|
replica_max_concurrent_requests
|
Nombre maximal de requêtes simultanées par réplica à autoriser pour ce Webservice. La valeur par défaut est de 1. Ne modifiez pas la valeur de ce paramètre (la valeur par défaut est 1), sauf indication contraire du support technique Microsoft ou d’un membre de l’équipe Azure Machine Learning. Valeur par défaut: None
|
max_request_wait_time
|
Durée maximale pendant laquelle une requête reste en file d’attente (en millisecondes) avant de retourner une erreur 503. La valeur par défaut est 500. Valeur par défaut: None
|
num_replicas
|
Nombre de conteneurs à allouer pour ce Webservice. Aucune valeur par défaut. Si ce paramètre n’est pas défini, l’autoscaler est activé par défaut. Valeur par défaut: None
|
primary_key
|
Clé d’authentification primaire à utiliser pour ce Webservice. Valeur par défaut: None
|
secondary_key
|
Clé d’authentification secondaire à utiliser pour ce Webservice. Valeur par défaut: None
|
tags
|
Dictionnaire d’étiquettes (clé-valeur) à fournir à ce Webservice. Valeur par défaut: None
|
properties
|
Dictionnaire de propriétés (clé-valeur) à fournir à ce Webservice. Vous ne pouvez pas changer ces propriétés après le déploiement. Toutefois, vous pouvez ajouter de nouvelles paires clé-valeur. Valeur par défaut: None
|
description
|
Description à fournir à ce Webservice. Valeur par défaut: None
|
gpu_cores
|
Nombre de cœurs GPU à allouer pour ce service web. La valeur par défaut est 0. Valeur par défaut: None
|
period_seconds
|
Fréquence (en secondes) d’exécution de probe liveness. La valeur par défaut est 10 secondes. La valeur minimale est 1. Valeur par défaut: None
|
initial_delay_seconds
|
Nombre de secondes après le démarrage du conteneur avant le lancement des probes liveness. La valeur par défaut est 310. Valeur par défaut: None
|
timeout_seconds
|
Délai d’expiration en secondes de la probe liveness. La valeur par défaut est de 2 secondes. La valeur minimale est 1. Valeur par défaut: None
|
success_threshold
|
Nombre minimal de réussites consécutives pour que la probe liveness soit considérée comme réussie après avoir échoué. La valeur par défaut est de 1. La valeur minimale est 1. Valeur par défaut: None
|
failure_threshold
|
Quand un Pod démarre et que la probe liveness échoue, Kubernetes essaie FailureThreshold times avant d’abandonner. La valeur par défaut est 3. La valeur minimale est 1. Valeur par défaut: None
|
namespace
|
Espace de noms Kubernetes sur lequel déployer ce Webservice : jusqu’à 63 caractères alphanumériques minuscules (lettres allant de « a » à « z », chiffres allant de « 0 » à « 9 » et traits d’union (« - »)). Le premier caractère et le dernier caractère ne peuvent pas être des traits d’union. Valeur par défaut: None
|
token_auth_enabled
|
Indique s’il est nécessaire ou non d’activer l’authentification par jeton pour ce Webservice. Si cette option est activée, les utilisateurs peuvent accéder au Webservice en récupérant un jeton d’accès à l’aide de leurs informations d’identification Azure Active Directory. Valeur par défaut False. Valeur par défaut: None
|
compute_target_name
|
Nom de la cible de calcul sur laquelle effectuer le déploiement Valeur par défaut: None
|
cpu_cores_limit
|
Nombre maximal de cœurs de processeur que ce Webservice est autorisé à utiliser. Peut être un nombre décimal. Valeur par défaut: None
|
memory_gb_limit
|
Quantité maximale de mémoire (en Go) que ce Webservice est autorisé à utiliser. Peut être un nombre décimal. Valeur par défaut: None
|
blobfuse_enabled
|
Indique s’il faut ou non activer blobfuse pour le téléchargement de modèle pour ce Webservice. La valeur par défaut est True Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Objet de configuration à utiliser au moment du déploiement d’un AksWebservice. |
Exceptions
Type | Description |
---|---|
get_access_token
Récupère le jeton d’authentification pour ce Webservice.
get_access_token()
Retours
Type | Description |
---|---|
Objet décrivant le jeton d’authentification de ce Webservice. |
Exceptions
Type | Description |
---|---|
get_token
DÉPRÉCIÉ. Utilisez à la place la méthode get_access_token
.
Récupère le jeton d’authentification pour ce Webservice.
get_token()
Retours
Type | Description |
---|---|
Jeton d’authentification de ce Webservice avec date/heure d’actualisation. |
Exceptions
Type | Description |
---|---|
remove_tags
Supprime les clés spécifiées du dictionnaire d’étiquettes de ce Webservice.
remove_tags(tags)
Paramètres
Nom | Description |
---|---|
tags
Obligatoire
|
Liste des clés à supprimer |
run
Appelle ce Webservice avec l’entrée fournie.
run(input_data)
Paramètres
Nom | Description |
---|---|
input_data
Obligatoire
|
<xref:varies>
Entrée avec laquelle appeler le Webservice |
Retours
Type | Description |
---|---|
Résultat de l’appel du Webservice |
Exceptions
Type | Description |
---|---|
serialize
Convertit ce Webservice en dictionnaire JSON sérialisé.
serialize()
Retours
Type | Description |
---|---|
Représentation JSON de ce Webservice. |
update
Met à jour le Webservice avec les propriétés fournies.
Les valeurs pour lesquelles None est spécifié restent inchangées dans ce 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)
Paramètres
Nom | Description |
---|---|
image
|
Nouvelle image à déployer sur le Webservice Valeur par défaut: None
|
autoscale_enabled
|
Active ou désactive la mise à l’échelle automatique de ce Webservice Valeur par défaut: None
|
autoscale_min_replicas
|
Nombre minimal de conteneurs à utiliser durant la mise à l’échelle automatique de ce Webservice Valeur par défaut: None
|
autoscale_max_replicas
|
Nombre maximal de conteneurs à utiliser durant la mise à l’échelle automatique de ce Webservice Valeur par défaut: None
|
autoscale_refresh_seconds
|
Fréquence à laquelle l’autoscaler doit tenter de mettre à l’échelle ce Webservice Valeur par défaut: None
|
autoscale_target_utilization
|
Utilisation cible en pourcentage que l’autoscaler doit tenter de conserver pour ce Webservice Valeur par défaut: None
|
collect_model_data
|
Active ou désactive la collecte de données de modèle pour ce Webservice Valeur par défaut: None
|
auth_enabled
|
Indique s’il est nécessaire ou non d’activer l’authentification pour ce Webservice Valeur par défaut: None
|
cpu_cores
|
Nombre de cœurs de processeur à allouer pour ce Webservice. Il peut s’agir d’un nombre décimal Valeur par défaut: None
|
memory_gb
|
Quantité de mémoire (en Go) à allouer pour ce Webservice. Il peut s’agir d’un nombre décimal Valeur par défaut: None
|
enable_app_insights
|
Indique s’il est nécessaire ou non d’activer la journalisation Application Insights pour ce Webservice Valeur par défaut: None
|
scoring_timeout_ms
|
Délai d’expiration à appliquer pour le scoring des appels à ce Webservice Valeur par défaut: None
|
replica_max_concurrent_requests
|
Nombre maximal de requêtes simultanées par réplica à autoriser pour ce Webservice. Valeur par défaut: None
|
max_request_wait_time
|
Durée maximale pendant laquelle une requête reste en file d’attente (en millisecondes) avant de retourner une erreur 503 Valeur par défaut: None
|
num_replicas
|
Nombre de conteneurs à allouer pour ce Webservice Valeur par défaut: None
|
tags
|
Dictionnaire d’étiquettes (clé-valeur) à fournir à ce Webservice. Remplace les étiquettes existantes. Valeur par défaut: None
|
properties
|
Dictionnaire de propriétés (clé-valeur) à ajouter au dictionnaire de propriétés existant Valeur par défaut: None
|
description
|
Description à fournir à ce Webservice Valeur par défaut: None
|
models
|
Liste d’objets Model à packager avec le service mis à jour Valeur par défaut: None
|
inference_config
|
Objet InferenceConfig utilisé pour fournir les propriétés de déploiement de modèle nécessaires. Valeur par défaut: None
|
gpu_cores
|
Nombre de cœurs de GPU à allouer pour ce Webservice Valeur par défaut: None
|
period_seconds
|
Fréquence (en secondes) d’exécution de probe liveness. La valeur par défaut est 10 secondes. La valeur minimale est 1. Valeur par défaut: None
|
initial_delay_seconds
|
Nombre de secondes après le démarrage du conteneur avant le lancement des probes liveness. Valeur par défaut: None
|
timeout_seconds
|
Délai d’expiration en secondes de la probe liveness. La valeur par défaut est de 1 seconde. La valeur minimale est 1. Valeur par défaut: None
|
success_threshold
|
Nombre minimal de réussites consécutives pour que la probe liveness soit considérée comme réussie après avoir échoué. La valeur par défaut est de 1. La valeur minimale est 1. Valeur par défaut: None
|
failure_threshold
|
Quand un Pod démarre et que la probe liveness échoue, Kubernetes essaie FailureThreshold times avant d’abandonner. La valeur par défaut est 3. La valeur minimale est 1. Valeur par défaut: None
|
namespace
|
Espace de noms Kubernetes sur lequel déployer ce Webservice : jusqu’à 63 caractères alphanumériques minuscules (lettres allant de « a » à « z », chiffres allant de « 0 » à « 9 » et traits d’union (« - »)). Le premier caractère et le dernier caractère ne peuvent pas être des traits d’union. Valeur par défaut: None
|
token_auth_enabled
|
Indique s’il est nécessaire ou non d’activer l’authentification par jeton pour ce Webservice. Si cette option est activée, les utilisateurs peuvent accéder au Webservice en récupérant un jeton d’accès à l’aide de leurs informations d’identification Azure Active Directory. Par défaut, False Valeur par défaut: None
|
cpu_cores_limit
|
Nombre maximal de cœurs de processeur que ce Webservice est autorisé à utiliser. Peut être un nombre décimal. Valeur par défaut: None
|
memory_gb_limit
|
Quantité maximale de mémoire (en Go) que ce Webservice est autorisé à utiliser. Il peut s’agir d’un nombre décimal. Valeur par défaut: None
|
kwargs
Obligatoire
|
<xref:varies>
Inclut les paramètres pour prendre en charge la migration du service Web AKS vers le point de terminaison en ligne Kubernetes et le déploiement. is_migration=True|False, compute_target=. |
Exceptions
Type | Description |
---|---|