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

workspace
Workspace
Necessario

Oggetto workspace contenente l'oggetto Webservice da recuperare.

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

enable_app_insights
bool

Se la registrazione di AppInsights è abilitata per il servizio Web.

autoscaler
AutoScaler

Oggetto Scalabilità automatica per il servizio Web.

compute_name
str

Nome del calcoloTarget a cui viene distribuito il servizio Web.

container_resource_requirements
ContainerResourceRequirements

Requisiti delle risorse del contenitore per il servizio Web.

liveness_probe_requirements
LivenessProbeRequirements

Requisiti del probe di liveness per il servizio Web.

data_collection
DataCollection

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
bool

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
VersionType

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

token_auth_enabled
bool

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

environment
Environment

Oggetto Environment usato per creare il servizio Web.

azureml.core.webservice.AksWebservice.models
list[Model]

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

properties
dict[str, str]
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

tags
dict[str, str]
Necessario

Dizionario dei tag da aggiungere.

Eccezioni

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

autoscale_enabled
bool
valore predefinito: None

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

autoscale_min_replicas
int
valore predefinito: None

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

autoscale_max_replicas
int
valore predefinito: None

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

autoscale_refresh_seconds
int
valore predefinito: None

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

autoscale_target_utilization
int
valore predefinito: None

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

collect_model_data
bool
valore predefinito: None

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

auth_enabled
bool
valore predefinito: None

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

cpu_cores
float
valore predefinito: None

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.

memory_gb
float
valore predefinito: None

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.

enable_app_insights
bool
valore predefinito: None

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

scoring_timeout_ms
int
valore predefinito: None

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

replica_max_concurrent_requests
int
valore predefinito: None

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.

max_request_wait_time
int
valore predefinito: None

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

num_replicas
int
valore predefinito: None

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.

primary_key
str
valore predefinito: None

Chiave di autenticazione primaria da usare per questo servizio Web.

secondary_key
str
valore predefinito: None

Chiave di autenticazione secondaria da usare per questo servizio Web.

tags
dict[str, str]
valore predefinito: None

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

properties
dict[str, str]
valore predefinito: None

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.

description
str
valore predefinito: None

Descrizione da assegnare a questo servizio Web.

gpu_cores
int
valore predefinito: None

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

period_seconds
int
valore predefinito: None

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

initial_delay_seconds
int
valore predefinito: None

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

timeout_seconds
int
valore predefinito: None

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

success_threshold
int
valore predefinito: None

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.

failure_threshold
int
valore predefinito: None

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.

namespace
str
valore predefinito: None

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.

token_auth_enabled
bool
valore predefinito: None

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.

compute_target_name
str
valore predefinito: None

Nome della destinazione di calcolo da distribuire in

cpu_cores_limit
float
valore predefinito: None

Il numero massimo di core cpu che questo servizio Web può usare. Può essere un decimale.

memory_gb_limit
float
valore predefinito: None

La quantità massima di memoria (in GB) di questo servizio Web è consentita per l'uso. Può essere un decimale.

blobfuse_enabled
bool
valore predefinito: None

Indica se abilitare blobfuse per il download di modelli per questo servizio Web. Impostazione predefinita su True

Restituisce

Oggetto di configurazione da usare durante la distribuzione di un servizio AksWeb.

Tipo restituito

Eccezioni

get_access_token

Recuperare il token di autenticazione per questo servizio Web.

get_access_token()

Restituisce

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

Tipo restituito

Eccezioni

get_token

DEPRECATO. Usare get_access_token invece il metodo .

Recuperare il token di autenticazione per questo servizio Web.

get_token()

Restituisce

Token di autenticazione per questo servizio Web e quando aggiornarlo.

Tipo restituito

Eccezioni

remove_tags

Rimuovere le chiavi specificate dal dizionario dei tag del servizio Web.

remove_tags(tags)

Parametri

tags
list[str]
Necessario

Elenco di chiavi da rimuovere

run

Chiamare questo servizio Web con l'input specificato.

run(input_data)

Parametri

input_data
<xref:varies>
Necessario

Input da chiamare il servizio Web con

Restituisce

Risultato della chiamata al servizio Web

Tipo restituito

Eccezioni

serialize

Convertire questo servizio Web in un dizionario serializzato JSON.

serialize()

Restituisce

Rappresentazione JSON di questo servizio Web.

Tipo restituito

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

image
Image
valore predefinito: None

Nuova immagine da distribuire nel servizio Web

autoscale_enabled
bool
valore predefinito: None

Abilitare o disabilitare la scalabilità automatica di questo servizio Web

autoscale_min_replicas
int
valore predefinito: None

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

autoscale_max_replicas
int
valore predefinito: None

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

autoscale_refresh_seconds
int
valore predefinito: None

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

autoscale_target_utilization
int
valore predefinito: None

L'utilizzo di destinazione (in percentuale superiore a 100) il ridimensionatore automatico deve tentare di mantenere per questo servizio Web

collect_model_data
bool
valore predefinito: None

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

auth_enabled
bool
valore predefinito: None

Indica se abilitare l'autenticazione per questo servizio Web

cpu_cores
float
valore predefinito: None

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

memory_gb
float
valore predefinito: None

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

enable_app_insights
bool
valore predefinito: None

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

scoring_timeout_ms
int
valore predefinito: None

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

replica_max_concurrent_requests
int
valore predefinito: None

Numero di richieste simultanee massime per replica per consentire questo servizio Web.

max_request_wait_time
int
valore predefinito: None

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

num_replicas
int
valore predefinito: None

Numero di contenitori da allocare per questo servizio Web

tags
dict[str, str]
valore predefinito: None

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

properties
dict[str, str]
valore predefinito: None

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

description
str
valore predefinito: None

Descrizione per assegnare questo servizio Web

models
list[Model]
valore predefinito: None

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

inference_config
InferenceConfig
valore predefinito: None

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

gpu_cores
int
valore predefinito: None

Numero di core gpu da allocare per questo servizio Web

period_seconds
int
valore predefinito: None

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

initial_delay_seconds
int
valore predefinito: None

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

timeout_seconds
int
valore predefinito: None

Numero di secondi dopo il quale il probe di liveness timeout. Il valore predefinito è 1 secondo. Il valore minimo è 1.

success_threshold
int
valore predefinito: None

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.

failure_threshold
int
valore predefinito: None

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.

namespace
str
valore predefinito: None

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.

token_auth_enabled
bool
valore predefinito: None

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

cpu_cores_limit
float
valore predefinito: None

Il numero massimo di core cpu che questo servizio Web può usare. Può essere un decimale.

memory_gb_limit
float
valore predefinito: None

La quantità massima di memoria (in GB) di questo servizio Web è consentita per l'uso. Può essere un decimale.

kwargs
<xref:varies>
Necessario

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