AciWebservice Classe
Représente un modèle Machine Learning déployé en tant que point de terminaison de service web sur Azure Container Instances.
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.
Pour plus d’informations, consultez Déployer un modèle dans Azure Container Instances.
Initialisez le 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é.
- Héritage
-
AciWebservice
Constructeur
AciWebservice(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.
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 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 AciWebservice. 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. |
cname
|
Enregistrement CNAME du Webservice. |
container_resource_requirements
|
Impératifs liés aux ressources d’un conteneur pour le Webservice. |
encryption_properties
|
Propriétés de chiffrement du Webservice. |
vnet_configuration
|
La configuration des propriétés de réseau virtuel du Webservice doit être créée et fournie par l’utilisateur. |
azureml.core.webservice.AciWebservice.location
|
Emplacement sur lequel le Webservice est déployé. |
public_ip
|
Adresse IP publique du Webservice. |
azureml.core.webservice.AciWebservice.scoring_uri
|
Point de terminaison de scoring du Webservice |
ssl_enabled
|
Indique si SSL est activé ou non pour le Webservice |
public_fqdn
|
FQDN public du Webservice |
environment
|
Objet Environment utilisé pour créer le Webservice |
azureml.core.webservice.AciWebservice.models
|
Liste des modèles déployés sur le Webservice |
azureml.core.webservice.AciWebservice.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. |
deploy_configuration |
Crée un objet de configuration pour le déploiement d’un AciWebservice. |
get_token |
Récupère le jeton d’authentification de ce service web, limité à l’utilisateur actif. Notes Non implémenté. |
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.
add_tags(tags)
Paramètres
Nom | Description |
---|---|
tags
Obligatoire
|
Dictionnaire d’étiquettes à ajouter. |
Exceptions
Type | Description |
---|---|
deploy_configuration
Crée un objet de configuration pour le déploiement d’un AciWebservice.
static deploy_configuration(cpu_cores=None, memory_gb=None, tags=None, properties=None, description=None, location=None, auth_enabled=None, ssl_enabled=None, enable_app_insights=None, ssl_cert_pem_file=None, ssl_key_pem_file=None, ssl_cname=None, dns_name_label=None, primary_key=None, secondary_key=None, collect_model_data=None, cmk_vault_base_url=None, cmk_key_name=None, cmk_key_version=None, vnet_name=None, subnet_name=None)
Paramètres
Nom | Description |
---|---|
cpu_cores
|
Nombre de cœurs UC à allouer pour ce service Web. Peut être un nombre décimal. La valeur par défaut est 0.1 Valeur par défaut: None
|
memory_gb
|
Quantité de mémoire (en Go) à allouer pour ce Webservice. Peut être un nombre décimal. La valeur par défaut est 0.5 Valeur par défaut: None
|
tags
|
Dictionnaire des étiquettes de valeur de clé à attribuer à ce service Web. Valeur par défaut: None
|
properties
|
Dictionnaire de propriétés (clé-valeur) à fournir à ce service Web. 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
|
location
|
Région Azure dans laquelle déployer ce service web. Si elle n’est pas spécifiée, l’emplacement de l’espace de travail sera utilisé. Pour plus d’informations sur les régions disponibles, consultez Produits par région. Valeur par défaut: None
|
auth_enabled
|
Indique s’il faut activer ou pas l’authentification pour ce service web. Valeur par défaut False. Valeur par défaut: None
|
ssl_enabled
|
Indique s’il faut activer ou pas SSL pour ce service web. Valeur par défaut False. Valeur par défaut: None
|
enable_app_insights
|
Indique s’il faut activer ou pas AppInsights pour ce service web. Valeur par défaut False. Valeur par défaut: None
|
ssl_cert_pem_file
|
Fichier de certificat requis si SSL est activé. Valeur par défaut: None
|
ssl_key_pem_file
|
Fichier de clé requis si SSL est activé. Valeur par défaut: None
|
ssl_cname
|
cname si SSL est activé. Valeur par défaut: None
|
dns_name_label
|
Étiquette du nom DNS pour le point de terminaison de scoring. En l’absence d’indication, une étiquette de nom DNS unique est générée pour le point de terminaison de scoring. 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
|
collect_model_data
|
Indique s’il est nécessaire ou non d’activer la collecte de données de modèle pour le Webservice. Valeur par défaut: None
|
cmk_vault_base_url
|
URL de base du coffre de clés gérées par le client Valeur par défaut: None
|
cmk_key_name
|
nom de la clé gérée par le client. Valeur par défaut: None
|
cmk_key_version
|
version de la clé gérée par le client. Valeur par défaut: None
|
vnet_name
|
nom du réseau virtuel. Valeur par défaut: None
|
subnet_name
|
nom du sous-réseau au sein du réseau virtuel. Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Objet de configuration à utiliser au moment du déploiement d’un objet Webservice. |
Exceptions
Type | Description |
---|---|
get_token
Récupère le jeton d’authentification de ce service web, limité à l’utilisateur actif.
Notes
Non implémenté.
get_token()
Retours
Type | Description |
---|---|
Jeton d’authentification de ce service Web et le moment auquel il doit être actualisé après. |
Exceptions
Type | Description |
---|---|
azureml.exceptions.NotImplementedError
|
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 service Web. |
Retours
Type | Description |
---|---|
Résultat de l’appel du service Web. |
Exceptions
Type | Description |
---|---|
serialize
Convertit ce Webservice en dictionnaire JSON sérialisé.
serialize()
Retours
Type | Description |
---|---|
Représentation JSON de cet objet 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, tags=None, properties=None, description=None, auth_enabled=None, ssl_enabled=None, ssl_cert_pem_file=None, ssl_key_pem_file=None, ssl_cname=None, enable_app_insights=None, models=None, inference_config=None)
Paramètres
Nom | Description |
---|---|
image
|
Nouvelle image à déployer sur le Webservice. Valeur par défaut: None
|
tags
|
Dictionnaire des étiquettes de valeur de clé à attribuer à ce service Web. 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
|
auth_enabled
|
Active ou désactive l’authentification pour ce Webservice. Valeur par défaut: None
|
ssl_enabled
|
Indique s’il faut activer ou pas SSL pour ce service web. Valeur par défaut: None
|
ssl_cert_pem_file
|
Fichier de certificat requis si SSL est activé. Valeur par défaut: None
|
ssl_key_pem_file
|
Fichier de clé requis si SSL est activé. Valeur par défaut: None
|
ssl_cname
|
cname si SSL est activé. Valeur par défaut: None
|
enable_app_insights
|
Indique s’il faut activer ou pas AppInsights pour ce service web. Valeur par défaut: None
|
models
|
Liste d’objets Model à packager dans 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
|
Retours
Type | Description |
---|---|