Webservice Classe
Definisce le funzionalità di base per la distribuzione di modelli come endpoint servizio Web in Azure Machine Learning.
Il costruttore del servizio Web viene usato per recuperare 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. La classe Webservice consente di distribuire modelli di Machine Learning da un Model oggetto o Image .
Per altre informazioni sull'uso del servizio Web, vedere Distribuire modelli con Azure Machine Learning.
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.
Costruttore
Webservice(workspace, name)
Parametri
| Nome | Descrizione |
|---|---|
|
workspace
Necessario
|
Oggetto workspace contenente l'oggetto Webservice da recuperare. |
|
name
Necessario
|
Nome dell'oggetto Webservice da recuperare. |
|
workspace
Necessario
|
Oggetto workspace contenente l'oggetto Webservice da recuperare. |
|
name
Necessario
|
Nome dell'oggetto Webservice da recuperare. |
Commenti
L'esempio seguente illustra il modello di distribuzione consigliato in cui si crea prima un oggetto di configurazione con il deploy_configuration metodo della classe figlio di Webservice (in questo caso AksWebservice) e quindi si usa la configurazione con il deploy metodo della Model classe .
# 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)
Nell'esempio seguente viene illustrato come trovare un esistente AciWebservice in un'area di lavoro ed eliminarlo se esistente in modo che il nome possa essere riutilizzato.
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)
Esistono diversi modi per distribuire un modello come servizio Web, tra cui:
deploymetodo di Model per i modelli già registrati nell'area di lavoro.deploy_from_imagemetodo di Webservice per le immagini già create da un modello.deploy_from_modelmetodo di Webservice per i modelli già registrati nell'area di lavoro. Questo metodo creerà un'immagine.deploymetodo 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 Variables elenca gli attributi di una rappresentazione locale dell'oggetto webservice cloud. Queste variabili devono essere considerate di sola lettura. La modifica dei valori non verrà riflessa nell'oggetto cloud corrispondente.
Variabili
| Nome | Descrizione |
|---|---|
|
auth_enabled
|
Indica se l'autenticazione del servizio Web è abilitata o meno. |
|
compute_type
|
Tipo di calcolo in cui viene distribuito il servizio Web. |
|
created_time
|
Quando è stato creato il servizio Web. |
|
azureml.core.Webservice.description
|
Descrizione dell'oggetto Webservice. |
|
azureml.core.Webservice.tags
|
Dizionario di tag per l'oggetto Webservice. |
|
azureml.core.Webservice.name
|
Nome del servizio Web. |
|
azureml.core.Webservice.properties
|
Dizionario delle proprietà chiave-valore per il servizio Web. Queste proprietà non possono essere modificate dopo la distribuzione, ma è possibile aggiungere nuove coppie chiave-valore. |
|
created_by
|
Utente che ha creato il servizio Web. |
|
error
|
Se il servizio Web non è riuscito a eseguire la distribuzione, questo conterrà il messaggio di errore relativo al motivo per cui non è riuscito. |
|
azureml.core.Webservice.state
|
Stato corrente del servizio Web. |
|
updated_time
|
Ultima volta che il servizio Web è stato aggiornato. |
|
azureml.core.Webservice.workspace
|
Area di lavoro di Azure Machine Learning che contiene questo servizio Web. |
|
token_auth_enabled
|
Indica se il servizio Web ha o meno l'autenticazione basata su token abilitata. |
Metodi
| check_for_existing_webservice |
Verificare che il servizio Web esista. |
| delete |
Eliminare questo servizio Web dall'area di lavoro associata. Questa chiamata di funzione non è asincrona. La chiamata viene eseguita fino a quando la risorsa non viene eliminata. Un WebserviceException viene generato se si verifica un problema durante l'eliminazione del modello dal servizio gestione modelli. |
| deploy |
Distribuire un servizio Web da zero o più Model oggetti. Questa funzione registrerà tutti i file di modelli forniti e creerà un'immagine nel processo, tutti associati all'oggetto specificato Workspace. Usare questa funzione quando si dispone di una directory di modelli per distribuire che non sono stati registrati in precedenza. Il servizio Web risultante è un endpoint in tempo reale che può essere usato per le richieste di inferenza. Per altre informazioni, vedere Utilizzare un modello distribuito come servizio Web. |
| deploy_from_image |
Distribuire un servizio Web da un Image oggetto . Usare questa funzione se è già stato creato un oggetto Image per un modello. Il servizio Web risultante è un endpoint in tempo reale che può essere usato per le richieste di inferenza. Per altre informazioni, vedere Utilizzare un modello distribuito come servizio Web. |
| deploy_from_model |
Distribuire un servizio Web da zero o più Model oggetti. Questa funzione è simile a deploy, ma non registra i modelli. Utilizzare questa funzione se si dispone di oggetti modello già registrati. Verrà creata un'immagine nel processo, associata all'area di lavoro specificata. Il servizio Web risultante è un endpoint in tempo reale che può essere usato per le richieste di inferenza. Per altre informazioni, vedere Utilizzare un modello distribuito come servizio Web. |
| deploy_local_from_model |
Compilare e distribuire un LocalWebservice oggetto per i test. Richiede l'installazione e la configurazione di Docker. |
| deserialize |
Convertire un oggetto JSON della risposta del servizio di gestione modelli in un oggetto Webservice. Avrà esito negativo se l'area di lavoro specificata non è l'area di lavoro in cui è registrato il servizio Web. |
| get_keys |
Recuperare le chiavi di autenticazione per questo servizio Web. |
| get_logs |
Recuperare i log per questo servizio Web. |
| get_token |
Recuperare il token di autenticazione per questo servizio Web, con ambito per l'utente corrente. |
| list |
Elencare i servizi Web associati all'oggetto corrispondente Workspace. I risultati restituiti possono essere filtrati usando i parametri. |
| regen_key |
Rigenerare una delle chiavi del servizio Web, ovvero la chiave 'Primaria' o 'Secondaria'. Un WebserviceException oggetto viene generato se |
| run |
Chiamare questo servizio Web con l'input fornito. Metodo astratto implementato dalle classi figlio di Webservice. |
| serialize |
Convertire questo oggetto Webservice in un dizionario serializzato JSON. Utilizzare deserialize per eseguire di nuovo la conversione in un oggetto Webservice. |
| update |
Aggiornare i parametri del servizio Web. Si tratta di un metodo astratto implementato dalle classi figlio di Webservice. I parametri possibili da aggiornare variano in base al tipo figlio del servizio Web. Ad esempio, per i servizi Web di Istanze di Azure Container, vedere update per parametri specifici. |
| update_deployment_state |
Aggiornare lo stato corrente dell'oggetto in memoria. Eseguire un aggiornamento sul posto delle proprietà dell'oggetto in base allo stato corrente dell'oggetto cloud corrispondente. Utile principalmente per il polling manuale dello stato di creazione. |
| wait_for_deployment |
Eseguire automaticamente il polling sulla distribuzione del servizio Web in esecuzione. Attendere che il servizio Web raggiunga uno stato del terminale. Genererà un'eccezione WebserviceException se raggiunge uno stato terminale non riuscito o supera il timeout specificato. |
check_for_existing_webservice
Verificare che il servizio Web esista.
static check_for_existing_webservice(workspace, name, overwrite=False, request_func=None, check_func=None)
Parametri
| Nome | Descrizione |
|---|---|
|
workspace
Necessario
|
|
|
name
Necessario
|
|
|
overwrite
|
Valore predefinito: False
|
|
request_func
|
<xref:function>
funzione per richiedere al servizio di verificare se il nome del servizio esiste Valore predefinito: None
|
|
check_func
|
<xref:function>
funzione per controllare il contenuto della risposta di request_func Valore predefinito: None
|
Eccezioni
| Tipo | Descrizione |
|---|---|
delete
Eliminare questo servizio Web dall'area di lavoro associata.
Questa chiamata di funzione non è asincrona. La chiamata viene eseguita fino a quando la risorsa non viene eliminata. Un WebserviceException viene generato se si verifica un problema durante l'eliminazione del modello dal servizio gestione modelli.
delete()
Eccezioni
| Tipo | Descrizione |
|---|---|
deploy
Distribuire un servizio Web da zero o più Model oggetti.
Questa funzione registrerà tutti i file di modelli forniti e creerà un'immagine nel processo, tutti associati all'oggetto specificato Workspace. Usare questa funzione quando si dispone di una directory di modelli per distribuire che non sono stati registrati in precedenza.
Il servizio Web risultante è un endpoint in tempo reale che può essere usato per le richieste di inferenza. Per altre informazioni, vedere Utilizzare un modello distribuito come servizio Web.
static deploy(workspace, name, model_paths, image_config, deployment_config=None, deployment_target=None, overwrite=False)
Parametri
| Nome | Descrizione |
|---|---|
|
workspace
Necessario
|
Oggetto Workspace a cui associare il servizio Web. |
|
name
Necessario
|
Nome da assegnare al servizio distribuito. Deve essere univoco per l'area di lavoro, costituito solo da lettere minuscole, numeri o trattini, iniziare con una lettera e avere una lunghezza compresa tra 3 e 32 caratteri. |
|
model_paths
Necessario
|
Elenco dei percorsi su disco per i file o la cartella del modello. Può essere un elenco vuoto. |
|
image_config
Necessario
|
Oggetto ImageConfig utilizzato per determinare le proprietà Image necessarie. |
|
deployment_config
|
WebserviceDeploymentConfiguration usato per configurare il servizio Web. Se non viene specificato, verrà usato un oggetto di configurazione vuoto in base alla destinazione desiderata. Valore predefinito: None
|
|
deployment_target
|
Oggetto ComputeTarget in cui distribuire il servizio Web. Poiché Istanze di Azure Container non ha associato ComputeTarget, lasciare questo parametro come Nessuno per la distribuzione in Istanze di Azure Container. Valore predefinito: None
|
|
overwrite
|
Sovrascrivere il servizio esistente se il servizio con nome esiste già. Valore predefinito: False
|
Restituisce
| Tipo | Descrizione |
|---|---|
|
Oggetto Webservice corrispondente al servizio Web distribuito. |
Eccezioni
| Tipo | Descrizione |
|---|---|
deploy_from_image
Distribuire un servizio Web da un Image oggetto .
Usare questa funzione se è già stato creato un oggetto Image per un modello.
Il servizio Web risultante è un endpoint in tempo reale che può essere usato per le richieste di inferenza. Per altre informazioni, vedere Utilizzare un modello distribuito come servizio Web.
static deploy_from_image(workspace, name, image, deployment_config=None, deployment_target=None, overwrite=False)
Parametri
| Nome | Descrizione |
|---|---|
|
workspace
Necessario
|
Oggetto Workspace a cui associare il servizio Web. |
|
name
Necessario
|
Nome da assegnare al servizio distribuito. Deve essere univoco per l'area di lavoro, costituito solo da lettere minuscole, numeri o trattini, iniziare con una lettera e avere una lunghezza compresa tra 3 e 32 caratteri. |
|
image
Necessario
|
Oggetto Image da distribuire. |
|
deployment_config
|
WebserviceDeploymentConfiguration usato per configurare il servizio Web. Se non viene specificato, verrà usato un oggetto di configurazione vuoto in base alla destinazione desiderata. Valore predefinito: None
|
|
deployment_target
|
Oggetto ComputeTarget in cui distribuire il servizio Web. Poiché Istanze di Azure Container non ha associato ComputeTarget, lasciare questo parametro come Nessuno per la distribuzione in Istanze di Azure Container. Valore predefinito: None
|
|
overwrite
|
Sovrascrivere il servizio esistente se il servizio con nome esiste già. Valore predefinito: False
|
Restituisce
| Tipo | Descrizione |
|---|---|
|
Oggetto Webservice corrispondente al servizio Web distribuito. |
Eccezioni
| Tipo | Descrizione |
|---|---|
deploy_from_model
Distribuire un servizio Web da zero o più Model oggetti.
Questa funzione è simile a deploy, ma non registra i modelli. Utilizzare questa funzione se si dispone di oggetti modello già registrati. Verrà creata un'immagine nel processo, associata all'area di lavoro specificata.
Il servizio Web risultante è un endpoint in tempo reale che può essere usato per le richieste di inferenza. Per altre informazioni, vedere Utilizzare un modello distribuito come servizio Web.
static deploy_from_model(workspace, name, models, image_config, deployment_config=None, deployment_target=None, overwrite=False)
Parametri
| Nome | Descrizione |
|---|---|
|
workspace
Necessario
|
Oggetto Workspace a cui associare il servizio Web. |
|
name
Necessario
|
Nome da assegnare al servizio distribuito. Deve essere univoco per l'area di lavoro, costituito solo da lettere minuscole, numeri o trattini, iniziare con una lettera e avere una lunghezza compresa tra 3 e 32 caratteri. |
|
models
Necessario
|
Elenco di oggetti modello. Può essere un elenco vuoto. |
|
image_config
Necessario
|
Oggetto ImageConfig utilizzato per determinare le proprietà Image necessarie. |
|
deployment_config
|
WebserviceDeploymentConfiguration usato per configurare il servizio Web. Se non viene specificato, verrà usato un oggetto di configurazione vuoto in base alla destinazione desiderata. Valore predefinito: None
|
|
deployment_target
|
Oggetto ComputeTarget in cui distribuire il servizio Web. Poiché ACI non ha associato ComputeTarget, lasciare questo parametro come Nessuno per la distribuzione in ACI. Valore predefinito: None
|
|
overwrite
|
Sovrascrivere il servizio esistente se il servizio con nome esiste già. Valore predefinito: False
|
Restituisce
| Tipo | Descrizione |
|---|---|
|
Oggetto Webservice corrispondente al servizio Web distribuito. |
Eccezioni
| Tipo | Descrizione |
|---|---|
deploy_local_from_model
Compilare e distribuire un LocalWebservice oggetto per i test.
Richiede l'installazione e la configurazione di Docker.
static deploy_local_from_model(workspace, name, models, image_config, deployment_config=None, wait=False)
Parametri
| Nome | Descrizione |
|---|---|
|
workspace
Necessario
|
Oggetto Workspace a cui associare il servizio Web. |
|
name
Necessario
|
Nome da assegnare al servizio distribuito. Deve essere univoco nel computer locale. |
|
models
Necessario
|
Elenco di oggetti modello. Può essere un elenco vuoto. |
|
image_config
Necessario
|
Oggetto ImageConfig utilizzato per determinare le proprietà dell'immagine del servizio necessarie. |
|
deployment_config
|
LocalWebserviceDeploymentConfiguration usato per configurare il servizio Web. Se non ne viene specificato uno, verrà usato un oggetto di configurazione vuoto. Valore predefinito: None
|
|
wait
|
Indica se attendere che il contenitore Docker di LocalWebservice venga visualizzato come integro. Genera un'eccezione se il contenitore si arresta in modo anomalo. Il valore predefinito è False. Valore predefinito: False
|
Restituisce
| Tipo | Descrizione |
|---|---|
Eccezioni
| Tipo | Descrizione |
|---|---|
deserialize
Convertire un oggetto JSON della risposta del servizio di gestione modelli in un oggetto Webservice.
Avrà esito negativo se l'area di lavoro specificata non è l'area di lavoro in cui è registrato il servizio Web.
deserialize(workspace, webservice_payload)
Parametri
| Nome | Descrizione |
|---|---|
|
cls
Necessario
|
Indica che si tratta di un metodo di classe. |
|
workspace
Necessario
|
L'oggetto area di lavoro in cui è registrato il servizio Web. |
|
webservice_payload
Necessario
|
Oggetto JSON da convertire in un oggetto Webservice. |
Restituisce
| Tipo | Descrizione |
|---|---|
|
Rappresentazione del servizio Web dell'oggetto JSON fornito. |
get_keys
Recuperare le chiavi di autenticazione per questo servizio Web.
get_keys()
Restituisce
| Tipo | Descrizione |
|---|---|
|
Chiavi di autenticazione per questo servizio Web. |
Eccezioni
| Tipo | Descrizione |
|---|---|
get_logs
Recuperare i log per questo servizio Web.
get_logs(num_lines=5000, init=False)
Parametri
| Nome | Descrizione |
|---|---|
|
num_lines
|
Numero massimo di righe di log da recuperare. Valore predefinito: 5000
|
|
init
|
Ottenere i log del contenitore init Valore predefinito: False
|
Restituisce
| Tipo | Descrizione |
|---|---|
|
Log per questo servizio Web. |
Eccezioni
| Tipo | Descrizione |
|---|---|
get_token
Recuperare il token di autenticazione per questo servizio Web, con ambito per l'utente corrente.
get_token()
Restituisce
| Tipo | Descrizione |
|---|---|
|
Token di autenticazione per questo servizio Web e quando deve essere aggiornato dopo. |
Eccezioni
| Tipo | Descrizione |
|---|---|
list
Elencare i servizi Web associati all'oggetto corrispondente Workspace.
I risultati restituiti possono essere filtrati usando i parametri.
static list(workspace, compute_type=None, image_name=None, image_id=None, model_name=None, model_id=None, tags=None, properties=None, image_digest=None)
Parametri
| Nome | Descrizione |
|---|---|
|
workspace
Necessario
|
Oggetto Workspace in cui elencare i servizi Web. |
|
compute_type
|
Filtra per elencare solo tipi di servizi Web specifici. Le opzioni sono "ACI", "servizio Azure Kubernetes". Valore predefinito: None
|
|
image_name
|
Elenco di filtri per includere solo i servizi Web distribuiti con il nome dell'immagine specifico. Valore predefinito: None
|
|
image_id
|
Elenco di filtri per includere solo i servizi Web distribuiti con l'ID immagine specifico. Valore predefinito: None
|
|
model_name
|
Elenco di filtri per includere solo i servizi Web distribuiti con il nome del modello specifico. Valore predefinito: None
|
|
model_id
|
Elenco di filtri per includere solo i servizi Web distribuiti con l'ID modello specifico. Valore predefinito: None
|
|
tags
|
Filtrare in base all'elenco specificato, in base a 'key' o '[key, value]'. Ad esempio: ['key', ['key2', 'key2 value']] Valore predefinito: None
|
|
properties
|
Filtrare in base all'elenco specificato, in base a 'key' o '[key, value]'. Ad esempio: ['key', ['key2', 'key2 value']] Valore predefinito: None
|
|
image_digest
|
Elenco di filtri per includere solo i servizi Web distribuiti con il digest dell'immagine specifico. Valore predefinito: None
|
Restituisce
| Tipo | Descrizione |
|---|---|
|
Elenco filtrato di servizi Web nell'area di lavoro specificata. |
Eccezioni
| Tipo | Descrizione |
|---|---|
regen_key
Rigenerare una delle chiavi del servizio Web, ovvero la chiave 'Primaria' o 'Secondaria'.
Un WebserviceException oggetto viene generato se key non è specificato o non è 'Primario' o 'Secondario'.
regen_key(key, set_key=None)
Parametri
| Nome | Descrizione |
|---|---|
|
key
Necessario
|
Chiave da rigenerare. Le opzioni sono 'Primary' o 'Secondary'. |
|
set_key
|
Valore specificato dall'utente che consente di specificare manualmente il valore della chiave Valore predefinito: None
|
Eccezioni
| Tipo | Descrizione |
|---|---|
run
Chiamare questo servizio Web con l'input fornito.
Metodo astratto implementato dalle classi figlio di Webservice.
abstract run(input)
Parametri
| Nome | Descrizione |
|---|---|
|
input
Necessario
|
<xref:varies>
Dati di input con cui chiamare il servizio Web. Si tratta dei dati previsti dal modello di Machine Learning come input per eseguire stime. |
Restituisce
| Tipo | Descrizione |
|---|---|
|
Risultato della chiamata al servizio Web. Verranno restituite le stime eseguite dal modello di Machine Learning. |
Eccezioni
| Tipo | Descrizione |
|---|---|
serialize
Convertire questo oggetto Webservice in un dizionario serializzato JSON.
Utilizzare deserialize per eseguire di nuovo la conversione in un oggetto Webservice.
serialize()
Restituisce
| Tipo | Descrizione |
|---|---|
|
Rappresentazione JSON di questo servizio Web. |
update
Aggiornare i parametri del servizio Web.
Si tratta di un metodo astratto implementato dalle classi figlio di Webservice. I parametri possibili da aggiornare variano in base al tipo figlio del servizio Web. Ad esempio, per i servizi Web di Istanze di Azure Container, vedere update per parametri specifici.
abstract update(*args)
Parametri
| Nome | Descrizione |
|---|---|
|
args
Necessario
|
<xref:varies>
Valori da aggiornare. |
Eccezioni
| Tipo | Descrizione |
|---|---|
update_deployment_state
Aggiornare lo stato corrente dell'oggetto in memoria.
Eseguire un aggiornamento sul posto delle proprietà dell'oggetto in base allo stato corrente dell'oggetto cloud corrispondente. Utile principalmente per il polling manuale dello stato di creazione.
update_deployment_state()
wait_for_deployment
Eseguire automaticamente il polling sulla distribuzione del servizio Web in esecuzione.
Attendere che il servizio Web raggiunga uno stato del terminale. Genererà un'eccezione WebserviceException se raggiunge uno stato terminale non riuscito o supera il timeout specificato.
wait_for_deployment(show_output=False, timeout_sec=None)
Parametri
| Nome | Descrizione |
|---|---|
|
show_output
|
Indica se stampare un output più dettagliato. Valore predefinito: False
|
|
timeout_sec
|
Generare un'eccezione se la distribuzione supera il timeout specificato. Valore predefinito: None
|
Eccezioni
| Tipo | Descrizione |
|---|---|