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 a 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 del servizio Web recupera una rappresentazione cloud di un oggetto Webservice associato all'area di lavoro specificata. Restituirà 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
|
Nome dell'oggetto Webservice da recuperare. |
Commenti
Il modello di distribuzione consigliato consiste nel creare un oggetto di configurazione della distribuzione con il metodo e quindi usarlo con il deploy_configuration
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 dei modelli già registrati nell'area di Model lavoro.deploy_from_image
metodo di Webservice.deploy_from_model
metodo di per i modelli già registrati nell'area di Webservice 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
Utilizzare un modello di Azure Machine Learning distribuito come servizio Web
Monitorare e raccogliere dati da endpoint servizio Web di ML
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
|
Se la registrazione di AppInsights è abilitata per il servizio Web. |
autoscaler
|
Oggetto Scalabilità automatica per il servizio Web. |
compute_name
|
Nome del calcoloTarget a cui viene distribuito il servizio Web. |
container_resource_requirements
|
Requisiti delle risorse del 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
|
Numero massimo di richieste simultanee per contenitore per il servizio Web. |
max_request_wait_time
|
Tempo di attesa massimo della richiesta per il servizio Web, in millisecondi. |
num_replicas
|
Numero di repliche per il servizio Web. Ogni replica corrisponde a un pod del servizio Azure Kubernetes. |
scoring_timeout_ms
|
Timeout di assegnazione dei punteggi per il servizio Web, in millisecondi. |
azureml.core.webservice.AksWebservice.scoring_uri
|
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
|
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
|
Stato della distribuzione del servizio Web. |
namespace
|
Spazio dei nomi del servizio Azure Kubernetes del servizio Web. |
azureml.core.webservice.AksWebservice.swagger_uri
|
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 Recuperare il token di autenticazione per questo servizio Web. |
remove_tags |
Rimuovere le chiavi specificate dal dizionario dei tag del 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
|
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
|
Numero massimo di contenitori da usare per la scalabilità automatica di questo servizio Web. Il valore predefinito è 10. Valore predefinito: None
|
autoscale_refresh_seconds
|
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
|
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
|
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
|
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
|
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
|
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
|
Chiave di autenticazione primaria da usare per questo servizio Web. Valore predefinito: None
|
secondary_key
|
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
|
Descrizione da assegnare a questo servizio Web. Valore predefinito: None
|
gpu_cores
|
Numero di core GPU da allocare per questo servizio Web. Il valore predefinito è 0. Valore predefinito: None
|
period_seconds
|
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
|
Numero di secondi dopo l'avvio del contenitore prima dell'avvio dei probe di attività. Il valore predefinito è 310. Valore predefinito: None
|
timeout_seconds
|
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
|
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
|
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
|
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 l'autenticazione del 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
|
Nome della destinazione di calcolo da distribuire in Valore predefinito: None
|
cpu_cores_limit
|
Il numero massimo di core cpu che questo servizio Web può usare. Può essere un decimale. Valore predefinito: None
|
memory_gb_limit
|
La quantità massima di memoria (in GB) di questo servizio Web è consentita per l'uso. Può essere un decimale. Valore predefinito: None
|
blobfuse_enabled
|
Indica se abilitare blobfuse per il download di modelli per questo servizio Web. Impostazione predefinita su True Valore predefinito: None
|
Restituisce
Tipo | Descrizione |
---|---|
Oggetto di configurazione da usare durante la distribuzione di un servizio AksWeb. |
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 del 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 da 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
|
Numero minimo di contenitori da usare durante la scalabilità automatica di questo servizio Web Valore predefinito: None
|
autoscale_max_replicas
|
Numero massimo di contenitori da usare durante la scalabilità automatica di questo servizio Web Valore predefinito: None
|
autoscale_refresh_seconds
|
Frequenza con cui il ridimensionamento automatico deve tentare di ridimensionare questo servizio Web Valore predefinito: None
|
autoscale_target_utilization
|
L'utilizzo di destinazione (in percentuale superiore a 100) il ridimensionatore automatico deve tentare di mantenere 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 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
|
Timeout da applicare per l'assegnazione dei punteggi alle chiamate a questo servizio Web Valore predefinito: None
|
replica_max_concurrent_requests
|
Numero di richieste simultanee massime per replica per consentire questo servizio Web. Valore predefinito: None
|
max_request_wait_time
|
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
|
Numero di contenitori da allocare per questo servizio Web Valore predefinito: None
|
tags
|
Dizionario dei tag chiave valore per assegnare questo servizio Web. Sostituirà i tag esistenti. Valore predefinito: None
|
properties
|
Dizionario delle proprietà del valore chiave da aggiungere al dizionario delle proprietà esistenti Valore predefinito: None
|
description
|
Descrizione per assegnare questo servizio Web Valore predefinito: None
|
models
|
Elenco di oggetti Model da creare in 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
|
Numero di core gpu da allocare per questo servizio Web Valore predefinito: None
|
period_seconds
|
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
|
Il numero di secondi dopo l'avvio del contenitore prima che vengano avviati i probe di attività. Valore predefinito: None
|
timeout_seconds
|
Numero di secondi dopo il quale il probe di liveness timeout. Il valore predefinito è 1 secondo. Il valore minimo è 1. Valore predefinito: None
|
success_threshold
|
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
|
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
|
Spazio dei nomi Kubernetes in cui distribuire questo servizio Web: fino a 63 caratteri alfanumerici minuscoli ('a'-'z', '0'-'9') e trattino ('-'). I primi e gli ultimi caratteri non possono essere trattini. Valore predefinito: None
|
token_auth_enabled
|
Indica se abilitare l'autenticazione del 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
|
Il numero massimo di core cpu che questo servizio Web può usare. Può essere un decimale. Valore predefinito: None
|
memory_gb_limit
|
La quantità massima di memoria (in GB) di questo servizio Web è consentita per l'uso. Può essere un decimale. Valore predefinito: None
|
kwargs
Necessario
|
<xref:varies>
includere params per supportare la migrazione del servizio Web del servizio Web del servizio Azure Kubernetes all'endpoint e alla distribuzione online di Kubernetes. is_migration=True| False, compute_target=. |
Eccezioni
Tipo | Descrizione |
---|---|