Sdílet prostřednictvím


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
str

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
str

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

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
str

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
str

Uživatel, který webovou službu vytvořil.

error
str

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 key není zadána nebo není primární nebo sekundární.

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

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
str

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
str

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
str

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
(str, str)

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
int

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
str

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
str

Filtrem zobrazíte pouze konkrétní typy webových služeb. Možnosti jsou ACI, AKS.

Default value: None
image_name
str

Vyfiltrujte seznam tak, aby zahrnoval pouze webové služby nasazené s konkrétním názvem image.

Default value: None
image_id
str

Vyfiltrujte seznam tak, aby zahrnoval pouze webové služby nasazené s konkrétním ID image.

Default value: None
model_name
str

Vyfiltrujte seznam tak, aby zahrnoval pouze webové služby nasazené s konkrétním názvem modelu.

Default value: None
model_id
str

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
str

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
str

Klíč, který se má znovu vygenerovat. Možnosti jsou Primární nebo Sekundární.

set_key
str

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