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

workspace
Workspace
Vyžadováno

Objekt pracovního prostoru obsahující objekt Webservice, který se má načíst.

name
str
Vyžadováno

Název objektu Webservice, který se má načíst.

workspace
Workspace
Vyžadováno

Objekt pracovního prostoru obsahující objekt Webservice, který se má načíst.

name
str
Vyžadováno

Název objektu Webservice, 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ě:

  • deployModel pro modely již zaregistrované v pracovním prostoru.

  • deploy_from_imageWebservice pro obrázky již vytvořené z modelu.

  • deploy_from_modelWebservice pro modely již zaregistrované v pracovním prostoru. Tato metoda vytvoří image.

  • deployWebservicemetoda , 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é

auth_enabled
bool

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
datetime

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
datetime

Čas poslední aktualizace webové služby.

azureml.core.Webservice.workspace

Pracovní prostor Azure Machine Learning, který obsahuje tuto webovou službu.

token_auth_enabled
bool

Určuje, jestli má webová služba povolené ověřování tokenů.

Metody

check_for_existing_webservice

Zkontrolujte, že 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í až do odstranění prostředku. Vyvolá WebserviceException se, pokud dojde k potížím s odstraněním modelu ze služby správa modelů.

deploy

Nasaďte webovou službu z nuly nebo více Model objektů.

Tato funkce zaregistruje všechny soubory modelů, které jsou k dispozici, a v procesu vytvoří image, která je přidružená k zadanému Workspaceobjektu . Tuto funkci použijte, pokud máte adresář modelů k nasazení, 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 už 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 pro LocalWebservice účely 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, že webová služba existuje.

static check_for_existing_webservice(workspace, name, overwrite=False, request_func=None, check_func=None)

Parametry

workspace
Workspace
Vyžadováno
name
str
Vyžadováno
overwrite
bool
výchozí hodnota: False
request_func
<xref:function>
výchozí hodnota: None

function to request service to check if service name exists

check_func
<xref:function>
výchozí hodnota: None

funkce pro kontrolu obsahu odpovědi request_func

Výjimky

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í až do odstranění prostředku. Vyvolá WebserviceException se, pokud dojde k potížím s odstraněním modelu ze služby správa modelů.

delete()

Výjimky

deploy

Nasaďte webovou službu z nuly nebo více Model objektů.

Tato funkce zaregistruje všechny soubory modelů, které jsou k dispozici, a v procesu vytvoří image, která je přidružená k zadanému Workspaceobjektu . Tuto funkci použijte, pokud máte adresář modelů k nasazení, 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

workspace
Workspace
Vyžadováno

A Workspace objektu, který chcete přidružit webovou službu.

name
str
Vyžadováno

Název, který má dát nasazené službě. Musí být jedinečné pro pracovní prostor, musí se skládat pouze z malých písmen, číslic nebo pomlček, musí začínat písmenem a musí mít délku 3 až 32 znaků.

model_paths
list[str]
Vyžadováno

Seznam cest k souborům nebo složkám modelu na disku. Může být prázdný seznam.

image_config
ImageConfig
Vyžadováno

Objekt ImageConfig sloužící k určení požadovaných vlastností image.

deployment_config
WebserviceDeploymentConfiguration
výchozí hodnota: None

A WebserviceDeploymentConfiguration slouží ke konfiguraci webové služby. Pokud ho nezadáte, použije se prázdný objekt konfigurace na základě požadovaného cíle.

deployment_target
ComputeTarget
výchozí hodnota: None

A ComputeTarget , do které nasadíte webovou službu. Vzhledem k tomu, že Azure Container Instances nemá žádný přidružený ComputeTargetparametr , ponechte tento parametr pro nasazení do Azure Container Instances jako Žádný.

overwrite
bool
výchozí hodnota: False

Přepište existující službu, pokud už služba s názvem existuje.

Návraty

Objekt Webservice odpovídající nasazené webové službě.

Návratový typ

Výjimky

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

workspace
Workspace
Vyžadováno

A Workspace objektu, který chcete přidružit webovou službu.

name
str
Vyžadováno

Název, který má dát nasazené službě. Musí být jedinečné pro pracovní prostor, musí se skládat pouze z malých písmen, číslic nebo pomlček, musí začínat písmenem a musí mít délku 3 až 32 znaků.

image
Image
Vyžadováno

Objekt Image , který se má nasadit.

deployment_config
WebserviceDeploymentConfiguration
výchozí hodnota: None

A WebserviceDeploymentConfiguration slouží ke konfiguraci webové služby. Pokud ho nezadáte, použije se prázdný objekt konfigurace na základě požadovaného cíle.

deployment_target
ComputeTarget
výchozí hodnota: None

A ComputeTarget , do které nasadíte webovou službu. Vzhledem k tomu, že Azure Container Instances nemá žádný přidružený ComputeTargetparametr , ponechte tento parametr pro nasazení do Azure Container Instances jako Žádný.

overwrite
bool
výchozí hodnota: False

Přepište existující službu, pokud už služba s názvem existuje.

Návraty

Objekt Webservice odpovídající nasazené webové službě.

Návratový typ

Výjimky

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 už 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

workspace
Workspace
Vyžadováno

A Workspace objektu, který chcete přidružit webovou službu.

name
str
Vyžadováno

Název, který má dát nasazené službě. Musí být jedinečné pro pracovní prostor, musí se skládat pouze z malých písmen, číslic nebo pomlček, musí začínat písmenem a musí mít délku 3 až 32 znaků.

models
list[Model]
Vyžadováno

Seznam objektů modelu. Může být prázdný seznam.

image_config
ImageConfig
Vyžadováno

Objekt ImageConfig sloužící k určení požadovaných vlastností image.

deployment_config
WebserviceDeploymentConfiguration
výchozí hodnota: None

A WebserviceDeploymentConfiguration slouží ke konfiguraci webové služby. Pokud ho nezadáte, použije se prázdný objekt konfigurace na základě požadovaného cíle.

deployment_target
ComputeTarget
výchozí hodnota: None

A ComputeTarget , do které nasadíte webovou službu. Vzhledem k tomu, že ACI nemá žádný přidružený ComputeTargetparametr , ponechte tento parametr pro nasazení do ACI na hodnotě None.

overwrite
bool
výchozí hodnota: False

Přepište existující službu, pokud už služba s názvem existuje.

Návraty

Objekt Webservice odpovídající nasazené webové službě.

Návratový typ

Výjimky

deploy_local_from_model

Sestavte a nasaďte pro LocalWebservice účely testování.

Vyžaduje instalaci a konfiguraci Dockeru.

static deploy_local_from_model(workspace, name, models, image_config, deployment_config=None, wait=False)

Parametry

workspace
Workspace
Vyžadováno

A Workspace objekt, ke kterému chcete přidružit webovou službu.

name
str
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
list[Model]
Vyžadováno

Seznam objektů modelu. Může být prázdný seznam.

image_config
ImageConfig
Vyžadováno

Objekt ImageConfig sloužící k určení požadovaných vlastností image služby.

deployment_config
LocalWebserviceDeploymentConfiguration
výchozí hodnota: None

A LocalWebserviceDeploymentConfiguration slouží ke konfiguraci webové služby. Pokud ho nezadáte, použije se prázdný objekt konfigurace.

wait
bool
výchozí hodnota: False

Jestli se má čekat, až se kontejner Dockeru LocalWebservice zobrazí jako v pořádku. Pokud dojde k chybě kontejneru, vyvolá výjimku. Výchozí hodnota je Nepravda.

Návratový typ

Výjimky

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

cls
Vyžadováno

Označuje, že se jedná o metodu třídy.

workspace
Workspace
Vyžadováno

Objekt pracovního prostoru, pod kterým je webová služba zaregistrovaná.

webservice_payload
dict
Vyžadováno

Objekt JSON, který se má převést na objekt Webservice.

Návraty

Reprezentace webové služby poskytnutého objektu JSON.

Návratový typ

Výjimky

get_keys

Načíst ověřovací klíče pro tuto webovou službu.

get_keys()

Návraty

Ověřovací klíče pro tuto webovou službu.

Návratový typ

(str, str)

Výjimky

get_logs

Načíst protokoly pro tuto webovou službu.

get_logs(num_lines=5000, init=False)

Parametry

num_lines
int
výchozí hodnota: 5000

Maximální počet řádků protokolu, které se mají načíst.

init
bool
výchozí hodnota: False

Získání protokolů kontejneru init

Návraty

Protokoly pro tuto webovou službu.

Návratový typ

str

Výjimky

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

Ověřovací token pro tuto webovou službu a informace o tom, kdy by se měla aktualizovat.

Návratový typ

Výjimky

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

workspace
Workspace
Vyžadováno

The Workspace object to list the Webservices in.

compute_type
str
výchozí hodnota: None

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

image_name
str
výchozí hodnota: None

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

image_id
str
výchozí hodnota: None

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

model_name
str
výchozí hodnota: None

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

model_id
str
výchozí hodnota: None

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

tags
list
výchozí hodnota: None

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']]

properties
list
výchozí hodnota: None

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']]

image_digest
str
výchozí hodnota: None

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

Návraty

Filtrovaný seznam webových služeb v zadaném pracovním prostoru.

Návratový typ

Výjimky

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

key
str
Vyžadováno

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

set_key
str
výchozí hodnota: None

Uživatel zadal hodnotu umožňující ruční specifikaci hodnoty klíče.

Výjimky

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

input
<xref:varies>
Vyžadováno

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

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í.

Návratový typ

Výjimky

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

Reprezentace JSON této webové služby

Návratový typ

Výjimky

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

args
<xref:varies>
Vyžadováno

Hodnoty, které se mají aktualizovat.

Výjimky

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

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

show_output
bool
výchozí hodnota: False

Určuje, jestli se má vytisknout podrobnější výstup.

timeout_sec
float
výchozí hodnota: None

Pokud nasazení překročí daný časový limit, vytvořte výjimku.

Výjimky