Webservice Třída
Definuje základní funkce pro nasazování modelů jako koncových bodů webové služby ve službě Azure Machine Learning.
Konstruktor webservice se používá k načtení cloudové reprezentace objektu webové služby přidruženého k poskytnutému pracovnímu prostoru. Vrátí instanci podřízené třídy odpovídající určitému typu načteného objektu Webservice. Třída Webservice umožňuje nasazení modelů strojového učení z objektu Model nebo Image .
Další informace o práci s webovou službou najdete v tématu Nasazení modelů pomocí služby Azure Machine Learning.
Inicializujte instanci webové služby.
Konstruktor Webservice načte cloudovou reprezentaci objektu webové služby přidruženého k poskytnutému pracovnímu prostoru. Vrátí instanci podřízené třídy odpovídající konkrétnímu typu načteného objektu Webservice.
- Dědičnost
-
Webservice
Konstruktor
Webservice(workspace, name)
Parametry
Name | Description |
---|---|
workspace
Vyžadováno
|
Objekt pracovního prostoru obsahující objekt webové služby, který se má načíst. |
name
Vyžadováno
|
Název objektu webové služby, který se má načíst. |
workspace
Vyžadováno
|
Objekt pracovního prostoru obsahující objekt webové služby, který se má načíst. |
name
Vyžadováno
|
Název objektu webové služby, který se má načíst. |
Poznámky
Následující ukázka ukazuje doporučený vzor nasazení, kdy nejprve vytvoříte objekt konfigurace pomocí deploy_configuration
metody podřízené třídy Webservice (v tomto případě AksWebservice) a pak použijete konfiguraci s deploy
metodou Model třídy .
# 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)
Úplná ukázka je k dispozici na https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb
Následující ukázka ukazuje, jak najít existující AciWebservice v pracovním prostoru a odstranit ho, pokud existuje, aby bylo možné název znovu použít.
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)
Existuje několik způsobů, jak nasadit model jako webovou službu, včetně:
deploy
Model pro modely již zaregistrované v pracovním prostoru.deploy_from_image
Webservice pro obrázky již vytvořené z modelu.deploy_from_model
Webservice pro modely již zaregistrované v pracovním prostoru. Tato metoda vytvoří image.deploy
Webservicemetoda , která zaregistruje model a vytvoří image.
Informace o práci s webovými službami najdete v tématu
Využívání modelu služby Azure Machine Learning nasazeného jako webová služba
Monitorování a shromažďování dat z koncových bodů webové služby ML
Oddíl Variables (Proměnné) obsahuje seznam atributů místní reprezentace cloudového objektu webové služby. Tyto proměnné by se měly považovat za jen pro čtení. Změna jejich hodnot se neprojeví v odpovídajícím cloudovém objektu.
Proměnné
Name | Description |
---|---|
auth_enabled
|
Určuje, jestli má webová služba povolené ověřování. |
compute_type
|
Do jakého typu výpočetního prostředí je webová služba nasazená. |
created_time
|
Kdy byla webová služba vytvořena. |
azureml.core.Webservice.description
|
Popis objektu Webservice. |
azureml.core.Webservice.tags
|
Slovník značek pro objekt Webservice. |
azureml.core.Webservice.name
|
Název webové služby. |
azureml.core.Webservice.properties
|
Slovník vlastností hodnoty klíče pro webovou službu. Tyto vlastnosti nelze po nasazení změnit, je však možné přidat nové páry hodnot klíčů. |
created_by
|
Uživatel, který webovou službu vytvořil. |
error
|
Pokud se nasazení webové služby nezdařilo, bude obsahovat chybovou zprávu s informacemi o tom, proč selhala. |
azureml.core.Webservice.state
|
Aktuální stav webové služby. |
updated_time
|
Čas poslední aktualizace webové služby. |
azureml.core.Webservice.workspace
|
Pracovní prostor Azure Machine Learning, který obsahuje tuto webovou službu. |
token_auth_enabled
|
Určuje, jestli má webová služba povolené ověřování tokenů. |
Metody
check_for_existing_webservice |
Zkontrolujte, jestli webová služba existuje. |
delete |
Odstraňte tuto webovou službu z jejího přidruženého pracovního prostoru. Toto volání funkce není asynchronní. Volání se spustí, dokud se prostředek nesmadí. Pokud WebserviceException dojde k potížím s odstraněním modelu ze služby správy modelů, vyvolá se chyba . |
deploy |
Nasaďte webovou službu z nuly nebo více Model objektů. Tato funkce zaregistruje všechny zadané soubory modelů a vytvoří image v procesu, která je přidružená k zadanému Workspaceobjektu . Tuto funkci použijte, pokud máte k nasazení adresář modelů, které ještě nebyly zaregistrované. Výsledná webová služba je koncový bod v reálném čase, který lze použít pro žádosti o odvozování. Další informace najdete v tématu Využití modelu nasazeného jako webová služba. |
deploy_from_image |
Nasazení webové služby z objektu Image Tuto funkci použijte, pokud už máte objekt Image vytvořený pro model. Výsledná webová služba je koncový bod v reálném čase, který lze použít pro žádosti o odvozování. Další informace najdete v tématu Využití modelu nasazeného jako webová služba. |
deploy_from_model |
Nasaďte webovou službu z nuly nebo více Model objektů. Tato funkce je podobná deployfunkci , ale neregistruje modely. Tuto funkci použijte, pokud máte objekty modelu, které jsou již zaregistrované. Tím se v procesu vytvoří image přidružená k zadanému pracovnímu prostoru. Výsledná webová služba je koncový bod v reálném čase, který lze použít pro žádosti o odvozování. Další informace najdete v tématu Využití modelu nasazeného jako webová služba. |
deploy_local_from_model |
Sestavte a nasaďte nástroj LocalWebservice pro testování. Vyžaduje instalaci a konfiguraci Dockeru. |
deserialize |
Převeďte objekt JSON odpovědi služby Správa modelů na objekt Webservice. Chyba selže, pokud zadaný pracovní prostor není pracovním prostorem, ve které je webová služba zaregistrovaná. |
get_keys |
Načíst ověřovací klíče pro tuto webovou službu. |
get_logs |
Načíst protokoly pro tuto webovou službu. |
get_token |
Načtěte ověřovací token pro tuto webovou službu s oborem pro aktuálního uživatele. |
list |
Zobrazí seznam webových služeb přidružených k příslušnému Workspace. Vrácené výsledky je možné filtrovat pomocí parametrů. |
regen_key |
Znovu vygenerujte jeden z klíčů webové služby, primární nebo sekundární klíč. Je WebserviceException vyvolána, pokud |
run |
Zavolejte tuto webovou službu se zadaným vstupem. Abstraktní metoda implementovaná podřízenými třídami třídy .Webservice |
serialize |
Převeďte tento objekt Webové služby na serializovaný slovník JSON. Slouží deserialize k převodu zpět na objekt Webové služby. |
update |
Aktualizujte parametry webové služby. Toto je abstraktní metoda implementovaná podřízenými třídami třídy Webservice. Možné parametry, které se mají aktualizovat, se liší v závislosti na typu podřízené webové služby. Například v případě Azure Container Instances webových služeb se podívejte update na konkrétní parametry. |
update_deployment_state |
Aktualizujte aktuální stav objektu v paměti. Proveďte místní aktualizaci vlastností objektu na základě aktuálního stavu odpovídajícího cloudového objektu. Primárně užitečné pro ruční dotazování stavu vytvoření. |
wait_for_deployment |
Automaticky se dotazovat na spuštěné nasazení webové služby. Počkejte, až webová služba dosáhne koncového stavu. Vyvolá chybu , WebserviceException pokud dosáhne stavu terminálu, který není úspěšný, nebo překročí zadaný časový limit. |
check_for_existing_webservice
Zkontrolujte, jestli webová služba existuje.
static check_for_existing_webservice(workspace, name, overwrite=False, request_func=None, check_func=None)
Parametry
Name | Description |
---|---|
workspace
Vyžadováno
|
|
name
Vyžadováno
|
|
overwrite
|
Default value: False
|
request_func
|
<xref:function>
funkce pro vyžádání služby za účelem kontroly, jestli existuje název služby Default value: None
|
check_func
|
<xref:function>
funkce pro kontrolu obsahu odpovědí request_func Default value: None
|
Výjimky
Typ | Description |
---|---|
delete
Odstraňte tuto webovou službu z jejího přidruženého pracovního prostoru.
Toto volání funkce není asynchronní. Volání se spustí, dokud se prostředek nesmadí. Pokud WebserviceException dojde k potížím s odstraněním modelu ze služby správy modelů, vyvolá se chyba .
delete()
Výjimky
Typ | Description |
---|---|
deploy
Nasaďte webovou službu z nuly nebo více Model objektů.
Tato funkce zaregistruje všechny zadané soubory modelů a vytvoří image v procesu, která je přidružená k zadanému Workspaceobjektu . Tuto funkci použijte, pokud máte k nasazení adresář modelů, které ještě nebyly zaregistrované.
Výsledná webová služba je koncový bod v reálném čase, který lze použít pro žádosti o odvozování. Další informace najdete v tématu Využití modelu nasazeného jako webová služba.
static deploy(workspace, name, model_paths, image_config, deployment_config=None, deployment_target=None, overwrite=False)
Parametry
Name | Description |
---|---|
workspace
Vyžadováno
|
Objekt Pracovního prostoru, ke které chcete přidružit webovou službu. |
name
Vyžadováno
|
Název, který má dát nasazené službě. Musí být pro pracovní prostor jedinečný, musí obsahovat pouze malá písmena, číslice nebo pomlčky, začínat písmenem a musí mít délku 3 až 32 znaků. |
model_paths
Vyžadováno
|
Seznam cest k souborům nebo složce modelu na disku. Může to být prázdný seznam. |
image_config
Vyžadováno
|
Objekt ImageConfig sloužící k určení požadovaných vlastností image. |
deployment_config
|
WebserviceDeploymentConfiguration použitá ke konfiguraci webové služby. Pokud není k dispozici, použije se prázdný objekt konfigurace na základě požadovaného cíle. Default value: None
|
deployment_target
|
A ComputeTarget , do které chcete webovou službu nasadit. Vzhledem k tomu, že Azure Container Instances nemá přidružený ComputeTargetžádný parametr , nechejte tento parametr pro nasazení do Azure Container Instances na hodnotě None. Default value: None
|
overwrite
|
Přepište existující službu, pokud už služba s názvem existuje. Default value: False
|
Návraty
Typ | Description |
---|---|
Objekt webové služby odpovídající nasazené webové službě. |
Výjimky
Typ | Description |
---|---|
deploy_from_image
Nasazení webové služby z objektu Image
Tuto funkci použijte, pokud už máte objekt Image vytvořený pro model.
Výsledná webová služba je koncový bod v reálném čase, který lze použít pro žádosti o odvozování. Další informace najdete v tématu Využití modelu nasazeného jako webová služba.
static deploy_from_image(workspace, name, image, deployment_config=None, deployment_target=None, overwrite=False)
Parametry
Name | Description |
---|---|
workspace
Vyžadováno
|
Objekt Pracovního prostoru, ke které chcete přidružit webovou službu. |
name
Vyžadováno
|
Název, který má dát nasazené službě. Musí být pro pracovní prostor jedinečný, musí obsahovat pouze malá písmena, číslice nebo pomlčky, začínat písmenem a musí mít délku 3 až 32 znaků. |
image
Vyžadováno
|
Objekt Image , který se má nasadit. |
deployment_config
|
WebserviceDeploymentConfiguration použitá ke konfiguraci webové služby. Pokud není k dispozici, použije se prázdný objekt konfigurace na základě požadovaného cíle. Default value: None
|
deployment_target
|
A ComputeTarget , do které chcete webovou službu nasadit. Vzhledem k tomu, že Azure Container Instances nemá přidružený ComputeTargetžádný parametr , nechejte tento parametr pro nasazení do Azure Container Instances na hodnotě None. Default value: None
|
overwrite
|
Přepište existující službu, pokud už služba s názvem existuje. Default value: False
|
Návraty
Typ | Description |
---|---|
Objekt webové služby odpovídající nasazené webové službě. |
Výjimky
Typ | Description |
---|---|
deploy_from_model
Nasaďte webovou službu z nuly nebo více Model objektů.
Tato funkce je podobná deployfunkci , ale neregistruje modely. Tuto funkci použijte, pokud máte objekty modelu, které jsou již zaregistrované. Tím se v procesu vytvoří image přidružená k zadanému pracovnímu prostoru.
Výsledná webová služba je koncový bod v reálném čase, který lze použít pro žádosti o odvozování. Další informace najdete v tématu Využití modelu nasazeného jako webová služba.
static deploy_from_model(workspace, name, models, image_config, deployment_config=None, deployment_target=None, overwrite=False)
Parametry
Name | Description |
---|---|
workspace
Vyžadováno
|
Objekt Pracovního prostoru, ke které chcete přidružit webovou službu. |
name
Vyžadováno
|
Název, který má dát nasazené službě. Musí být pro pracovní prostor jedinečný, musí obsahovat pouze malá písmena, číslice nebo pomlčky, začínat písmenem a musí mít délku 3 až 32 znaků. |
models
Vyžadováno
|
Seznam objektů modelu. Může to být prázdný seznam. |
image_config
Vyžadováno
|
Objekt ImageConfig sloužící k určení požadovaných vlastností image. |
deployment_config
|
WebserviceDeploymentConfiguration použitá ke konfiguraci webové služby. Pokud není k dispozici, použije se prázdný objekt konfigurace na základě požadovaného cíle. Default value: None
|
deployment_target
|
A ComputeTarget , do které chcete webovou službu nasadit. Vzhledem k tomu, že ACI nemá přidružený ComputeTargetžádný parametr, ponechte tento parametr pro nasazení do ACI na hodnotě None. Default value: None
|
overwrite
|
Přepište existující službu, pokud už služba s názvem existuje. Default value: False
|
Návraty
Typ | Description |
---|---|
Objekt webové služby odpovídající nasazené webové službě. |
Výjimky
Typ | Description |
---|---|
deploy_local_from_model
Sestavte a nasaďte nástroj LocalWebservice pro testování.
Vyžaduje instalaci a konfiguraci Dockeru.
static deploy_local_from_model(workspace, name, models, image_config, deployment_config=None, wait=False)
Parametry
Name | Description |
---|---|
workspace
Vyžadováno
|
Objekt Pracovního prostoru, ke kterému chcete přidružit webovou službu. |
name
Vyžadováno
|
Název, který má dát nasazené službě. Musí být na místním počítači jedinečný. |
models
Vyžadováno
|
Seznam objektů modelu. Může to být prázdný seznam. |
image_config
Vyžadováno
|
Objekt ImageConfig sloužící k určení požadovaných vlastností image služby. |
deployment_config
|
LocalWebserviceDeploymentConfiguration použitá ke konfiguraci webové služby. Pokud není k dispozici, použije se prázdný objekt konfigurace. Default value: None
|
wait
|
Jestli čekat, až se kontejner Dockeru LocalWebservice zobrazí jako v pořádku. Pokud dojde k chybě kontejneru, vyvolá výjimku. Výchozí hodnota je Nepravda. Default value: False
|
Návraty
Typ | Description |
---|---|
Výjimky
Typ | Description |
---|---|
deserialize
Převeďte objekt JSON odpovědi služby Správa modelů na objekt Webservice.
Chyba selže, pokud zadaný pracovní prostor není pracovním prostorem, ve které je webová služba zaregistrovaná.
deserialize(workspace, webservice_payload)
Parametry
Name | Description |
---|---|
cls
Vyžadováno
|
Označuje, že se jedná o metodu třídy. |
workspace
Vyžadováno
|
Objekt pracovního prostoru, pod kterým je webová služba zaregistrovaná. |
webservice_payload
Vyžadováno
|
Objekt JSON, který se má převést na objekt Webservice. |
Návraty
Typ | Description |
---|---|
Reprezentace webové služby poskytnutého objektu JSON. |
Výjimky
Typ | Description |
---|---|
get_keys
Načíst ověřovací klíče pro tuto webovou službu.
get_keys()
Návraty
Typ | Description |
---|---|
Ověřovací klíče pro tuto webovou službu. |
Výjimky
Typ | Description |
---|---|
get_logs
Načíst protokoly pro tuto webovou službu.
get_logs(num_lines=5000, init=False)
Parametry
Name | Description |
---|---|
num_lines
|
Maximální počet řádků protokolu, které se mají načíst. Default value: 5000
|
init
|
Získání protokolů kontejneru init Default value: False
|
Návraty
Typ | Description |
---|---|
Protokoly pro tuto webovou službu. |
Výjimky
Typ | Description |
---|---|
get_token
Načtěte ověřovací token pro tuto webovou službu s oborem pro aktuálního uživatele.
get_token()
Návraty
Typ | Description |
---|---|
Ověřovací token pro tuto webovou službu a informace o tom, kdy by se měla aktualizovat. |
Výjimky
Typ | Description |
---|---|
list
Zobrazí seznam webových služeb přidružených k příslušnému Workspace.
Vrácené výsledky je možné filtrovat pomocí parametrů.
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)
Parametry
Name | Description |
---|---|
workspace
Vyžadováno
|
The Workspace object to list the Webservices in. |
compute_type
|
Filtrem zobrazíte pouze konkrétní typy webových služeb. Možnosti jsou ACI, AKS. Default value: None
|
image_name
|
Vyfiltrujte seznam tak, aby zahrnoval pouze webové služby nasazené s konkrétním názvem image. Default value: None
|
image_id
|
Vyfiltrujte seznam tak, aby zahrnoval pouze webové služby nasazené s konkrétním ID image. Default value: None
|
model_name
|
Vyfiltrujte seznam tak, aby zahrnoval pouze webové služby nasazené s konkrétním názvem modelu. Default value: None
|
model_id
|
Vyfiltrujte seznam tak, aby zahrnoval pouze webové služby nasazené s konkrétním ID modelu. Default value: None
|
tags
|
Filtrujte na základě poskytnutého seznamu, a to buď podle klíče, nebo podle hodnoty [klíč, hodnota]. Například ['klíč', ['klíč2', 'hodnota klíče2']] Default value: None
|
properties
|
Filtrujte na základě poskytnutého seznamu, a to buď podle klíče, nebo podle hodnoty [klíč, hodnota]. Například ['klíč', ['klíč2', 'hodnota klíče2']] Default value: None
|
image_digest
|
Vyfiltrujte seznam tak, aby zahrnoval pouze webové služby nasazené s konkrétní hodnotou hash image. Default value: None
|
Návraty
Typ | Description |
---|---|
Filtrovaný seznam webových služeb v zadaném pracovním prostoru. |
Výjimky
Typ | Description |
---|---|
regen_key
Znovu vygenerujte jeden z klíčů webové služby, primární nebo sekundární klíč.
Je WebserviceException vyvolána, pokud key
není zadána nebo není primární nebo sekundární.
regen_key(key, set_key=None)
Parametry
Name | Description |
---|---|
key
Vyžadováno
|
Klíč, který se má znovu vygenerovat. Možnosti jsou Primární nebo Sekundární. |
set_key
|
Uživatel zadal hodnotu umožňující ruční specifikaci hodnoty klíče. Default value: None
|
Výjimky
Typ | Description |
---|---|
run
Zavolejte tuto webovou službu se zadaným vstupem.
Abstraktní metoda implementovaná podřízenými třídami třídy .Webservice
abstract run(input)
Parametry
Name | Description |
---|---|
input
Vyžadováno
|
<xref:varies>
Vstupní data, která se mají volat webovou službu. Jedná se o data, která váš model strojového učení očekává jako vstup pro spouštění předpovědí. |
Návraty
Typ | Description |
---|---|
Výsledek volání webové služby. Tím se vrátí předpovědi spuštěné z vašeho modelu strojového učení. |
Výjimky
Typ | Description |
---|---|
serialize
Převeďte tento objekt Webové služby na serializovaný slovník JSON.
Slouží deserialize k převodu zpět na objekt Webové služby.
serialize()
Návraty
Typ | Description |
---|---|
Reprezentace JSON této webové služby |
Výjimky
Typ | Description |
---|---|
update
Aktualizujte parametry webové služby.
Toto je abstraktní metoda implementovaná podřízenými třídami třídy Webservice. Možné parametry, které se mají aktualizovat, se liší v závislosti na typu podřízené webové služby. Například v případě Azure Container Instances webových služeb se podívejte update na konkrétní parametry.
abstract update(*args)
Parametry
Name | Description |
---|---|
args
Vyžadováno
|
<xref:varies>
Hodnoty, které se mají aktualizovat. |
Výjimky
Typ | Description |
---|---|
update_deployment_state
Aktualizujte aktuální stav objektu v paměti.
Proveďte místní aktualizaci vlastností objektu na základě aktuálního stavu odpovídajícího cloudového objektu. Primárně užitečné pro ruční dotazování stavu vytvoření.
update_deployment_state()
Výjimky
Typ | Description |
---|---|
wait_for_deployment
Automaticky se dotazovat na spuštěné nasazení webové služby.
Počkejte, až webová služba dosáhne koncového stavu. Vyvolá chybu , WebserviceException pokud dosáhne stavu terminálu, který není úspěšný, nebo překročí zadaný časový limit.
wait_for_deployment(show_output=False, timeout_sec=None)
Parametry
Name | Description |
---|---|
show_output
|
Určuje, jestli se má vytisknout podrobnější výstup. Default value: False
|
timeout_sec
|
Pokud nasazení překročí daný časový limit, vytvořte výjimku. Default value: None
|
Výjimky
Typ | Description |
---|---|