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
str

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_configurationdeploy 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

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
str

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
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 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
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 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
str

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
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 durante la scalabilità automatica di questo servizio Web

Valore predefinito: None
autoscale_refresh_seconds
int

Frequenza con cui il ridimensionamento automatico deve tentare di ridimensionare questo servizio Web

Valore predefinito: None
autoscale_target_utilization
int

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
int

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

Valore predefinito: None
replica_max_concurrent_requests
int

Numero di richieste simultanee massime per replica per consentire 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 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
str

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
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 il probe di liveness timeout. 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 ('-'). 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