AksWebservice Classe

Rappresenta un modello di Machine Learning distribuito come endpoint servizio Web in servizio Azure Kubernetes.

Un servizio distribuito viene creato da un modello, uno script e i file associati. Il servizio Web risultante è un endpoint HTTP con carico bilanciato con un'API REST. È possibile inviare dati a questa API per ottenere la stima restituita dal modello.

AksWebservice distribuisce un singolo servizio in un endpoint. Per distribuire più servizi in un endpoint, usare la AksEndpoint classe .

Per altre informazioni, vedere Distribuire un modello in un cluster servizio Azure Kubernetes.

Inizializzare l'istanza del servizio Web.

Il costruttore webservice recupera una rappresentazione cloud di un oggetto Servizio Web associato all'area di lavoro specificata. Restituisce un'istanza di una classe figlio corrispondente al tipo specifico dell'oggetto Webservice recuperato.

Ereditarietà
AksWebservice

Costruttore

AksWebservice(workspace, name)

Parametri

Nome Descrizione
workspace
Necessario

Oggetto workspace contenente l'oggetto Webservice da recuperare.

name
Necessario
str

Nome dell'oggetto Webservice da recuperare.

Commenti

Il modello di distribuzione consigliato consiste nel creare un oggetto di configurazione della distribuzione con il deploy_configuration metodo e quindi usarlo con il deploy metodo della Model classe, come illustrato di seguito.


   # 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'esempio completo è disponibile da https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb

Esistono diversi modi per distribuire un modello come servizio Web, tra cui:

  • deploy metodo di per i Model modelli già registrati nell'area di lavoro.

  • deploy_from_image metodo di Webservice.

  • deploy_from_model metodo di Webservice per i modelli già registrati nell'area di lavoro. Questo metodo creerà un'immagine.

  • deploy metodo di Webservice, che registrerà un modello e creerà un'immagine.

Per informazioni sull'uso dei servizi Web, vedere

La sezione Variabili elenca gli attributi di una rappresentazione locale dell'oggetto AksWebservice cloud. Queste variabili devono essere considerate di sola lettura. La modifica dei valori non verrà riflessa nell'oggetto cloud corrispondente.

Variabili

Nome Descrizione
enable_app_insights

Indica se la registrazione di AppInsights è abilitata per il servizio Web.

autoscaler

Oggetto Autoscaler per il servizio Web.

compute_name
str

Nome dell'oggetto ComputeTarget in cui viene distribuito il servizio Web.

container_resource_requirements

Requisiti delle risorse contenitore per il servizio Web.

liveness_probe_requirements

Requisiti del probe di liveness per il servizio Web.

data_collection

Oggetto DataCollection per il servizio Web.

max_concurrent_requests_per_container
int

Numero massimo di richieste simultanee per contenitore per il servizio Web.

max_request_wait_time
int

Tempo di attesa massimo della richiesta per il servizio Web, in millisecondi.

num_replicas
int

Numero di repliche per il servizio Web. Ogni replica corrisponde a un pod del servizio Azure Kubernetes.

scoring_timeout_ms
int

Timeout di assegnazione dei punteggi per il servizio Web, in millisecondi.

azureml.core.webservice.AksWebservice.scoring_uri
str

Endpoint di assegnazione dei punteggi per il servizio Web

is_default

Se il servizio Web è la versione predefinita per il servizio Azure Kubernetes padre.

traffic_percentile
int

Percentuale di traffico da instradare al servizio Web nell'oggetto AksEndpoint padre.

version_type

Tipo di versione per il servizio Web nell'AksEndpoint padre.

token_auth_enabled

Se l'autenticazione del token è abilitata per il servizio Web.

environment

Oggetto Environment usato per creare il servizio Web.

azureml.core.webservice.AksWebservice.models

Elenco di modelli distribuiti nel servizio Web.

deployment_status
str

Stato della distribuzione del servizio Web.

namespace
str

Spazio dei nomi del servizio Azure Kubernetes del servizio Web.

azureml.core.webservice.AksWebservice.swagger_uri
str

Endpoint swagger per il servizio Web.

Metodi

add_properties

Aggiungere coppie chiave-valore al dizionario delle proprietà di questo servizio Web.

add_tags

Aggiungere coppie chiave-valore al dizionario tag di questo servizio Web.

Genera un oggetto WebserviceException.

deploy_configuration

Creare un oggetto di configurazione per la distribuzione in una destinazione di calcolo del servizio Azure Kubernetes.

get_access_token

Recuperare il token di autenticazione per questo servizio Web.

get_token

DEPRECATO. Usare get_access_token invece il metodo .

Recuperare il token di autenticazione per questo servizio Web.

remove_tags

Rimuovere le chiavi specificate dal dizionario dei tag di questo servizio Web.

run

Chiamare questo servizio Web con l'input specificato.

serialize

Convertire questo servizio Web in un dizionario serializzato JSON.

update

Aggiornare il servizio Web con le proprietà specificate.

I valori lasciati come None rimarranno invariati in questo servizio Web.

add_properties

Aggiungere coppie chiave-valore al dizionario delle proprietà di questo servizio Web.

add_properties(properties)

Parametri

Nome Descrizione
properties
Necessario

Dizionario delle proprietà da aggiungere.

add_tags

Aggiungere coppie chiave-valore al dizionario tag di questo servizio Web.

Genera un oggetto WebserviceException.

add_tags(tags)

Parametri

Nome Descrizione
tags
Necessario

Dizionario dei tag da aggiungere.

Eccezioni

Tipo Descrizione

deploy_configuration

Creare un oggetto di configurazione per la distribuzione in una destinazione di calcolo del servizio Azure Kubernetes.

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)

Parametri

Nome Descrizione
autoscale_enabled

Indica se abilitare o meno la scalabilità automatica per questo servizio Web. Il valore predefinito è True se num_replicas è Nessuno.

Valore predefinito: None
autoscale_min_replicas
int

Numero minimo di contenitori da usare per la scalabilità automatica di questo servizio Web. Assume il valore predefinito 1.

Valore predefinito: None
autoscale_max_replicas
int

Numero massimo di contenitori da usare per la scalabilità automatica di questo servizio Web. Il valore predefinito è 10.

Valore predefinito: None
autoscale_refresh_seconds
int

Frequenza con cui l'utilità di scalabilità automatica deve tentare di ridimensionare questo servizio Web. Assume il valore predefinito 1.

Valore predefinito: None
autoscale_target_utilization
int

L'utilizzo di destinazione ,in percentuale su 100, il ridimensionamento automatico deve tentare di gestire per questo servizio Web. Il valore predefinito è 70.

Valore predefinito: None
collect_model_data

Indica se abilitare o meno la raccolta dei dati del modello per questo servizio Web. Il valore predefinito è False.

Valore predefinito: None
auth_enabled

Indica se abilitare o meno l'autenticazione della chiave per questo servizio Web. Il valore predefinito è True.

Valore predefinito: None
cpu_cores

Numero di core cpu da allocare per questo servizio Web. Può essere un decimale. Il valore predefinito è 0.1. Corrisponde alla richiesta core del pod, non al limite, in servizio Azure Kubernetes.

Valore predefinito: None
memory_gb

Quantità di memoria (in GB) da allocare per questo servizio Web. Può essere un decimale. Il valore predefinito è 0,5. Corrisponde alla richiesta di memoria del pod, non al limite, in servizio Azure Kubernetes.

Valore predefinito: None
enable_app_insights

Indica se abilitare o meno la registrazione di Application Insights per questo servizio Web. Il valore predefinito è False.

Valore predefinito: None
scoring_timeout_ms
int

Timeout da applicare per l'assegnazione dei punteggi alle chiamate a questo servizio Web. Il valore predefinito è 60000.

Valore predefinito: None
replica_max_concurrent_requests
int

Numero massimo di richieste simultanee per replica che consentono questo servizio Web. Assume il valore predefinito 1. Non modificare questa impostazione dal valore predefinito 1, a meno che non venga richiesto dal supporto tecnico Microsoft o da un membro del team di Azure Machine Learning.

Valore predefinito: None
max_request_wait_time
int

La quantità massima di tempo per cui una richiesta rimarrà nella coda (in millisecondi) prima di restituire un errore 503. Il valore predefinito è 500.

Valore predefinito: None
num_replicas
int

Numero di contenitori da allocare per questo servizio Web. Nessun valore predefinito, se questo parametro non è impostato, l'utilità di scalabilità automatica è abilitata per impostazione predefinita.

Valore predefinito: None
primary_key
str

Chiave di autenticazione primaria da usare per questo servizio Web.

Valore predefinito: None
secondary_key
str

Chiave di autenticazione secondaria da usare per questo servizio Web.

Valore predefinito: None
tags

Dizionario di tag chiave-valore per assegnare questo servizio Web.

Valore predefinito: None
properties

Dizionario delle proprietà chiave-valore per assegnare questo servizio Web. Queste proprietà non possono essere modificate dopo la distribuzione, ma è possibile aggiungere nuove coppie chiave-valore.

Valore predefinito: None
description
str

Descrizione da assegnare a questo servizio Web.

Valore predefinito: None
gpu_cores
int

Numero di core GPU da allocare per questo servizio Web. Il valore predefinito è 0.

Valore predefinito: None
period_seconds
int

La frequenza (in secondi) con cui eseguire il probe di attività. Il valore predefinito è 10 secondi. Il valore minimo è 1.

Valore predefinito: None
initial_delay_seconds
int

Numero di secondi dopo l'avvio del contenitore prima dell'avvio dei probe di attività. Il valore predefinito è 310.

Valore predefinito: None
timeout_seconds
int

Numero di secondi dopo il quale si verifica il timeout del probe di attività. Il valore predefinito è 2 secondi. Il valore minimo è 1.

Valore predefinito: None
success_threshold
int

Numero minimo di successi consecutivi per il probe di attività da considerare riuscito dopo l'esito negativo. Assume il valore predefinito 1. Il valore minimo è 1.

Valore predefinito: None
failure_threshold
int

Quando un pod viene avviato e il probe di attività non riesce, Kubernetes continuerà a provare per il numero di volte indicato in failureThreshold prima di rinunciare. Il valore predefinito è 3. Il valore minimo è 1.

Valore predefinito: None
namespace
str

Spazio dei nomi Kubernetes in cui distribuire questo servizio Web: fino a 63 caratteri alfanumerici minuscoli ('a'-'z', '0'-'9') e trattino ('-'). Il primo e l'ultimo carattere non possono essere trattini.

Valore predefinito: None
token_auth_enabled

Indica se abilitare o meno l'autenticazione token per questo servizio Web. Se questa opzione è abilitata, gli utenti possono accedere a questo servizio Web recuperando un token di accesso usando le credenziali di Azure Active Directory. Il valore predefinito è False.

Valore predefinito: None
compute_target_name
str

Nome della destinazione di calcolo in cui eseguire la distribuzione

Valore predefinito: None
cpu_cores_limit

È consentito usare il numero massimo di core cpu per questo servizio Web. Può essere un decimale.

Valore predefinito: None
memory_gb_limit

La quantità massima di memoria (in GB) che questo servizio Web può usare. Può essere un decimale.

Valore predefinito: None
blobfuse_enabled

Indica se abilitare blobfuse per il download del modello per questo servizio Web. Il valore predefinito è True

Valore predefinito: None

Restituisce

Tipo Descrizione

Oggetto di configurazione da usare per la distribuzione di un servizio Azure KubernetesWebservice.

Eccezioni

Tipo Descrizione

get_access_token

Recuperare il token di autenticazione per questo servizio Web.

get_access_token()

Restituisce

Tipo Descrizione

Oggetto che descrive il token di autenticazione per questo servizio Web.

Eccezioni

Tipo Descrizione

get_token

DEPRECATO. Usare get_access_token invece il metodo .

Recuperare il token di autenticazione per questo servizio Web.

get_token()

Restituisce

Tipo Descrizione

Token di autenticazione per questo servizio Web e quando aggiornarlo.

Eccezioni

Tipo Descrizione

remove_tags

Rimuovere le chiavi specificate dal dizionario dei tag di questo servizio Web.

remove_tags(tags)

Parametri

Nome Descrizione
tags
Necessario

Elenco di chiavi da rimuovere

run

Chiamare questo servizio Web con l'input specificato.

run(input_data)

Parametri

Nome Descrizione
input_data
Necessario
<xref:varies>

Input per chiamare il servizio Web con

Restituisce

Tipo Descrizione

Risultato della chiamata al servizio Web

Eccezioni

Tipo Descrizione

serialize

Convertire questo servizio Web in un dizionario serializzato JSON.

serialize()

Restituisce

Tipo Descrizione

Rappresentazione JSON di questo servizio Web.

update

Aggiornare il servizio Web con le proprietà specificate.

I valori lasciati come None rimarranno invariati in questo servizio Web.

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)

Parametri

Nome Descrizione
image

Nuova immagine da distribuire nel servizio Web

Valore predefinito: None
autoscale_enabled

Abilitare o disabilitare la scalabilità automatica di questo servizio Web

Valore predefinito: None
autoscale_min_replicas
int

Numero minimo di contenitori da usare durante la scalabilità automatica di questo servizio Web

Valore predefinito: None
autoscale_max_replicas
int

Numero massimo di contenitori da usare per la scalabilità automatica di questo servizio Web

Valore predefinito: None
autoscale_refresh_seconds
int

Frequenza con cui l'utilità di scalabilità automatica deve tentare di ridimensionare questo servizio Web

Valore predefinito: None
autoscale_target_utilization
int

L'utilizzo di destinazione ,in percentuale su 100, il ridimensionamento automatico deve tentare di gestire per questo servizio Web

Valore predefinito: None
collect_model_data

Abilitare o disabilitare la raccolta dati del modello per questo servizio Web

Valore predefinito: None
auth_enabled

Indica se abilitare o meno l'autenticazione per questo servizio Web

Valore predefinito: None
cpu_cores

Numero di core cpu da allocare per questo servizio Web. Può essere un decimale

Valore predefinito: None
memory_gb

Quantità di memoria (in GB) da allocare per questo servizio Web. Può essere un decimale

Valore predefinito: None
enable_app_insights

Indica se abilitare o meno la registrazione di Application Insights per questo servizio Web

Valore predefinito: None
scoring_timeout_ms
int

Timeout da applicare per l'assegnazione dei punteggi alle chiamate a questo servizio Web

Valore predefinito: None
replica_max_concurrent_requests
int

Numero massimo di richieste simultanee per replica che consentono questo servizio Web.

Valore predefinito: None
max_request_wait_time
int

La quantità massima di tempo per cui una richiesta rimarrà nella coda (in millisecondi) prima di restituire un errore 503

Valore predefinito: None
num_replicas
int

Numero di contenitori da allocare per questo servizio Web

Valore predefinito: None
tags

Dizionario di tag chiave-valore per assegnare questo servizio Web. Sostituirà i tag esistenti.

Valore predefinito: None
properties

Dizionario delle proprietà chiave-valore da aggiungere al dizionario delle proprietà esistenti

Valore predefinito: None
description
str

Descrizione da assegnare a questo servizio Web

Valore predefinito: None
models

Elenco di oggetti Model da creare in un pacchetto con il servizio aggiornato

Valore predefinito: None
inference_config

Oggetto InferenceConfig usato per fornire le proprietà di distribuzione del modello necessarie.

Valore predefinito: None
gpu_cores
int

Numero di core GPU da allocare per questo servizio Web

Valore predefinito: None
period_seconds
int

La frequenza (in secondi) con cui eseguire il probe di attività. Il valore predefinito è 10 secondi. Il valore minimo è 1.

Valore predefinito: None
initial_delay_seconds
int

Il numero di secondi dopo l'avvio del contenitore prima che vengano avviati i probe di attività.

Valore predefinito: None
timeout_seconds
int

Numero di secondi dopo il quale si verifica il timeout del probe di attività. Il valore predefinito è 1 secondo. Il valore minimo è 1.

Valore predefinito: None
success_threshold
int

Il numero minimo di successi consecutivi perché il probe di attività venga considerato riuscito dopo un errore. Assume il valore predefinito 1. Il valore minimo è 1.

Valore predefinito: None
failure_threshold
int

Quando un pod viene avviato e il probe di attività non riesce, Kubernetes continuerà a provare per il numero di volte indicato in failureThreshold prima di rinunciare. Il valore predefinito è 3. Il valore minimo è 1.

Valore predefinito: None
namespace
str

Spazio dei nomi Kubernetes in cui distribuire questo servizio Web: fino a 63 caratteri alfanumerici minuscoli ('a'-'z', '0'-'9') e trattino ('-'). Il primo e l'ultimo carattere non possono essere trattini.

Valore predefinito: None
token_auth_enabled

Indica se abilitare o meno l'autenticazione token per questo servizio Web. Se questa opzione è abilitata, gli utenti possono accedere a questo servizio Web recuperando il token di accesso usando le credenziali di Azure Active Directory. Il valore predefinito è False

Valore predefinito: None
cpu_cores_limit

È consentito usare il numero massimo di core cpu per questo servizio Web. Può essere un decimale.

Valore predefinito: None
memory_gb_limit

La quantità massima di memoria (in GB) che questo servizio Web può usare. Può essere un decimale.

Valore predefinito: None
kwargs
Necessario
<xref:varies>

includere i parametri per supportare la migrazione del servizio Web del servizio Azure Kubernetes all'endpoint online e alla distribuzione di Kubernetes. is_migration=True| False, compute_target=.

Eccezioni

Tipo Descrizione