AksWebservice Třída

Představuje model strojového učení nasazený jako koncový bod webové služby na Azure Kubernetes Service.

Nasazená služba se vytvoří z modelu, skriptu a přidružených souborů. Výsledná webová služba je koncový bod HTTP s vyrovnáváním zatížení s rozhraním REST API. Do tohoto rozhraní API můžete odesílat data a přijímat předpovědi vrácené modelem.

AksWebservice nasadí jednu službu do jednoho koncového bodu. Pokud chcete nasadit více služeb do jednoho koncového AksEndpoint bodu, použijte třídu .

Další informace najdete v tématu Nasazení modelu do clusteru Azure Kubernetes Service.

Inicializuje instanci webové služby.

Konstruktor webové služby 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 Webové služby.

Dědičnost
AksWebservice

Konstruktor

AksWebservice(workspace, name)

Parametry

workspace
Workspace
Vyžadováno

Objekt pracovního prostoru obsahující objekt webové služby, který se má načíst.

name
str
Vyžadováno

Název objektu webové služby, který se má načíst.

Poznámky

Doporučeným vzorem nasazení je vytvořit objekt konfigurace nasazení pomocí deploy_configuration metody a pak ho použít s metodou deployModel třídy, jak je znázorněno níže.


   # 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 od https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb

Existuje několik způsobů, jak nasadit model jako webovou službu, včetně:

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

  • deploy_from_imagemetoda .Webservice

  • 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

V části Variables (Proměnné) jsou uvedeny atributy místní reprezentace objektu AksWebservice cloudu. Tyto proměnné by měly být považovány za jen pro čtení. Změna jejich hodnot se neprojeví v odpovídajícím cloudovém objektu.

Proměnné

enable_app_insights
bool

Určuje, jestli je pro webovou službu povolené protokolování AppInsights.

autoscaler
AutoScaler

Objekt automatického škálování pro webovou službu.

compute_name
str

Název computeTarget, do kterého je webová služba nasazená.

container_resource_requirements
ContainerResourceRequirements

Požadavky na prostředky kontejneru pro webovou službu.

liveness_probe_requirements
LivenessProbeRequirements

Požadavky sondy aktivity pro webovou službu.

data_collection
DataCollection

Objekt DataCollection pro Webservice.

max_concurrent_requests_per_container
int

Maximální počet souběžných požadavků na kontejner pro webovou službu.

max_request_wait_time
int

Maximální doba čekání požadavku pro webovou službu v milisekundách.

num_replicas
int

Počet replik pro webovou službu. Každá replika odpovídá podu AKS.

scoring_timeout_ms
int

Časový limit skóre pro webovou službu v milisekundách

azureml.core.webservice.AksWebservice.scoring_uri
str

Bodovací koncový bod pro webovou službu

is_default
bool

Pokud je webová služba výchozí verzí pro nadřazený AksEndpoint.

traffic_percentile
int

Jaké procento provozu se má směrovat do webové služby v nadřazené sadě AksEndpoint.

version_type
VersionType

Typ verze webové služby v nadřazené AksEndpoint.

token_auth_enabled
bool

Určuje, jestli je pro webovou službu povolené ověřování tokenu.

environment
Environment

Prostředí objektu, který byl použit k vytvoření webové služby.

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

Seznam modelů nasazených do webové služby.

deployment_status
str

Stav nasazení webové služby.

namespace
str

Obor názvů AKS webové služby.

azureml.core.webservice.AksWebservice.swagger_uri
str

Koncový bod swaggeru pro webovou službu.

Metody

add_properties

Přidejte páry klíčových hodnot do slovníku vlastností této webové služby.

add_tags

Přidejte páry hodnot klíčů do slovníku značek této webové služby.

Vyvolá .WebserviceException

deploy_configuration

Vytvořte objekt konfigurace pro nasazení do cílového výpočetního objektu AKS.

get_access_token

Načtěte ověřovací token pro tuto webovou službu.

get_token

ZASTARALÉ. Místo toho použijte get_access_token metodu.

Načtěte ověřovací token pro tuto webovou službu.

remove_tags

Odeberte zadané klíče ze slovníku značek této webové služby.

run

Zavolejte tuto webovou službu se zadaným vstupem.

serialize

Převeďte tuto webovou službu na serializovaný slovník JSON.

update

Aktualizujte webovou službu pomocí zadaných vlastností.

Hodnoty ponechané jako Žádné zůstanou v této webové službě beze změny.

add_properties

Přidejte páry klíčových hodnot do slovníku vlastností této webové služby.

add_properties(properties)

Parametry

properties
dict[str, str]
Vyžadováno

Slovník vlastností, které chcete přidat.

add_tags

Přidejte páry hodnot klíčů do slovníku značek této webové služby.

Vyvolá .WebserviceException

add_tags(tags)

Parametry

tags
dict[str, str]
Vyžadováno

Slovník značek, které chcete přidat.

Výjimky

deploy_configuration

Vytvořte objekt konfigurace pro nasazení do cílového výpočetního objektu AKS.

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)

Parametry

autoscale_enabled
bool
výchozí hodnota: None

Zda se má povolit automatické škálování pro tuto webovou službu. Výchozí hodnota je True, pokud num_replicas je None.)

autoscale_min_replicas
int
výchozí hodnota: None

Minimální počet kontejnerů, které se mají použít při automatickém škálování této webové služby. Výchozí hodnota je 1.

autoscale_max_replicas
int
výchozí hodnota: None

Maximální počet kontejnerů, které se mají použít při automatickém škálování této webové služby. Výchozí hodnota je 10.

autoscale_refresh_seconds
int
výchozí hodnota: None

Jak často se má automatické škálování pokoušet škálovat tuto webovou službu. Výchozí hodnota je 1.

autoscale_target_utilization
int
výchozí hodnota: None

Cílové využití (v procentech ze 100) by se automatické škálování mělo pokusit zachovat pro tuto webovou službu. Výchozí hodnota je 70.

collect_model_data
bool
výchozí hodnota: None

Zda se má povolit shromažďování dat modelu pro tuto webovou službu. Výchozí hodnota je False.

auth_enabled
bool
výchozí hodnota: None

Zda se má povolit ověřování klíčů pro tuto webovou službu. Výchozí hodnota je Pravda.

cpu_cores
float
výchozí hodnota: None

Počet jader procesoru, která se mají přidělit pro tuto webovou službu. Může to být desetinná čárka. Výchozí hodnota je 0.1. Odpovídá požadavku jádra podu, nikoli limitu, ve Azure Kubernetes Service.

memory_gb
float
výchozí hodnota: None

Velikost paměti (v GB), která se má přidělit této webové službě. Může to být desetinná čárka. Výchozí hodnota je 0,5. Odpovídá požadavku na paměť podu, nikoli limitu, v Azure Kubernetes Service.

enable_app_insights
bool
výchozí hodnota: None

Jestli chcete povolit protokolování Application Insights pro tuto webovou službu. Výchozí hodnota je False.

scoring_timeout_ms
int
výchozí hodnota: None

Časový limit, který se má vynutit pro vyhodnocování volání této webové služby. Výchozí hodnota je 60000.

replica_max_concurrent_requests
int
výchozí hodnota: None

Maximální počet souběžných požadavků na repliku, které jsou pro tuto webovou službu povolené. Výchozí hodnota je 1. Toto nastavení neměňte z výchozí hodnoty 1, pokud vám to nepovolí technická podpora Microsoftu nebo člen týmu Služby Azure Machine Learning.

max_request_wait_time
int
výchozí hodnota: None

Maximální doba, po kterou požadavek zůstane ve frontě (v milisekundách) před vrácením chyby 503. Výchozí hodnota je 500.

num_replicas
int
výchozí hodnota: None

Počet kontejnerů, které se mají přidělit pro tuto webovou službu. Není výchozí. Pokud tento parametr není nastavený, je automatické škálování ve výchozím nastavení povolené.

primary_key
str
výchozí hodnota: None

Primární ověřovací klíč, který se má použít pro tuto webovou službu.

secondary_key
str
výchozí hodnota: None

Sekundární ověřovací klíč, který se má použít pro tuto webovou službu.

tags
dict[str, str]
výchozí hodnota: None

Slovník značek klíčových hodnot pro tuto webovou službu.

properties
dict[str, str]
výchozí hodnota: None

Slovník vlastností klíčové hodnoty pro tuto webovou službu. Tyto vlastnosti nelze po nasazení změnit, je však možné přidat nové páry hodnot klíčů.

description
str
výchozí hodnota: None

Popis pro tuto webovou službu.

gpu_cores
int
výchozí hodnota: None

Počet jader GPU, která se mají přidělit pro tuto webovou službu. Výchozí hodnota je 0.

period_seconds
int
výchozí hodnota: None

Jak často (v sekundách) se má sonda aktivity provádět. Výchozí hodnota je 10 sekund. Minimální hodnota je 1.

initial_delay_seconds
int
výchozí hodnota: None

Počet sekund po spuštění kontejneru, než se zahájí sondy aktivity. Výchozí hodnota je 310.

timeout_seconds
int
výchozí hodnota: None

Počet sekund, po jejichž uplynutí vyprší časový limit sondy aktivity. Výchozí hodnota je 2 sekundy. Minimální hodnota je 1.

success_threshold
int
výchozí hodnota: None

Minimální po sobě jdoucí úspěch sondy živosti, která se má po neúspěchu považovat za úspěšnou. Výchozí hodnota je 1. Minimální hodnota je 1.

failure_threshold
int
výchozí hodnota: None

Když se pod spustí a sonda živosti selže, Kubernetes se pokusí o selháníThreshold times, než to vzdát. Výchozí hodnota je 3. Minimální hodnota je 1.

namespace
str
výchozí hodnota: None

Obor názvů Kubernetes, ve kterém se má tato webová služba nasadit: až 63 alfanumerických znaků s malými písmeny (a-z, 0-9) a spojovníku (-). První a poslední znak nesmí být pomlčky.

token_auth_enabled
bool
výchozí hodnota: None

Zda se má povolit ověřování tokenů pro tuto webovou službu. Pokud je tato možnost povolená, můžou uživatelé přistupovat k této webové službě načtením přístupového tokenu pomocí svých přihlašovacích údajů Azure Active Directory. Výchozí hodnota je False.

compute_target_name
str
výchozí hodnota: None

Název cílového výpočetního prostředí, do které se má nasadit

cpu_cores_limit
float
výchozí hodnota: None

Maximální počet jader procesoru, která může tato webová služba používat. Může to být desetinná čárka.

memory_gb_limit
float
výchozí hodnota: None

Maximální velikost paměti (v GB) může tato webová služba používat. Může to být desetinná čárka.

blobfuse_enabled
bool
výchozí hodnota: None

Jestli chcete povolit blobfuse pro stahování modelů pro tuto webovou službu. Výchozí hodnota je Pravda.

Návraty

Objekt konfigurace, který se má použít při nasazování služby AksWebservice.

Návratový typ

Výjimky

get_access_token

Načtěte ověřovací token pro tuto webovou službu.

get_access_token()

Návraty

Objekt popisující ověřovací token pro tuto webovou službu.

Návratový typ

Výjimky

get_token

ZASTARALÉ. Místo toho použijte get_access_token metodu.

Načtěte ověřovací token pro tuto webovou službu.

get_token()

Návraty

Ověřovací token pro tuto webovou službu a kdy ji aktualizovat.

Návratový typ

Výjimky

remove_tags

Odeberte zadané klíče ze slovníku značek této webové služby.

remove_tags(tags)

Parametry

tags
list[str]
Vyžadováno

Seznam klíčů k odebrání

run

Zavolejte tuto webovou službu se zadaným vstupem.

run(input_data)

Parametry

input_data
<xref:varies>
Vyžadováno

Vstup pro volání webové služby pomocí

Návraty

Výsledek volání webové služby

Návratový typ

Výjimky

serialize

Převeďte tuto webovou službu na serializovaný slovník JSON.

serialize()

Návraty

Reprezentace této webové služby ve formátu JSON.

Návratový typ

update

Aktualizujte webovou službu pomocí zadaných vlastností.

Hodnoty ponechané jako Žádné zůstanou v této webové službě beze změny.

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)

Parametry

image
Image
výchozí hodnota: None

Nová image pro nasazení do webové služby

autoscale_enabled
bool
výchozí hodnota: None

Povolení nebo zakázání automatického škálování této webové služby

autoscale_min_replicas
int
výchozí hodnota: None

Minimální počet kontejnerů, které se mají použít při automatickém škálování této webové služby

autoscale_max_replicas
int
výchozí hodnota: None

Maximální počet kontejnerů, které se mají použít při automatickém škálování této webové služby

autoscale_refresh_seconds
int
výchozí hodnota: None

Jak často se má automatické škálování pokoušet škálovat tuto webovou službu

autoscale_target_utilization
int
výchozí hodnota: None

Cílové využití (v procentech ze 100), které by se automatické škálování mělo pokusit zachovat pro tuto webovou službu

collect_model_data
bool
výchozí hodnota: None

Povolení nebo zakázání shromažďování dat modelu pro tuto webovou službu

auth_enabled
bool
výchozí hodnota: None

Zda se má povolit ověřování pro tuto webovou službu

cpu_cores
float
výchozí hodnota: None

Počet jader procesoru, která se mají přidělit pro tuto webovou službu. Může to být desetinné číslo.

memory_gb
float
výchozí hodnota: None

Velikost paměti (v GB), která se má přidělit této webové službě. Může to být desetinné číslo.

enable_app_insights
bool
výchozí hodnota: None

Zda povolit protokolování Application Insights pro tuto webovou službu

scoring_timeout_ms
int
výchozí hodnota: None

Vypršení časového limitu pro vynucování pro vyhodnocování volání této webové služby

replica_max_concurrent_requests
int
výchozí hodnota: None

Maximální počet souběžných požadavků na repliku, které jsou pro tuto webovou službu povolené.

max_request_wait_time
int
výchozí hodnota: None

Maximální doba, po kterou požadavek zůstane ve frontě (v milisekundách) před vrácením chyby 503

num_replicas
int
výchozí hodnota: None

Počet kontejnerů, které se mají přidělit pro tuto webovou službu

tags
dict[str, str]
výchozí hodnota: None

Slovník značek klíčových hodnot pro tuto webovou službu. Nahradí existující značky.

properties
dict[str, str]
výchozí hodnota: None

Slovník vlastností klíčové hodnoty, které se mají přidat do existujícího slovníku vlastností

description
str
výchozí hodnota: None

Popis pro tuto webovou službu

models
list[Model]
výchozí hodnota: None

Seznam objektů modelu, které se mají zabalit s aktualizovanou službou

inference_config
InferenceConfig
výchozí hodnota: None

Objekt InferenceConfig, který slouží k poskytnutí požadovaných vlastností nasazení modelu.

gpu_cores
int
výchozí hodnota: None

Počet jader GPU, která se mají přidělit pro tuto webovou službu

period_seconds
int
výchozí hodnota: None

Jak často (v sekundách) se má sonda aktivity provádět. Výchozí hodnota je 10 sekund. Minimální hodnota je 1.

initial_delay_seconds
int
výchozí hodnota: None

Počet sekund po spuštění kontejneru před zahájením sondy živosti

timeout_seconds
int
výchozí hodnota: None

Počet sekund, po jejichž uplynutí vyprší časový limit sondy aktivity. Výchozí hodnota je 1 sekunda. Minimální hodnota je 1.

success_threshold
int
výchozí hodnota: None

Minimální počet po sobě jdoucích úspěchů, aby se sonda živosti po neúspěchu považovala za úspěšnou. Výchozí hodnota je 1. Minimální hodnota je 1.

failure_threshold
int
výchozí hodnota: None

Když se pod spustí a sonda živosti selže, Kubernetes se pokusí o selháníThreshold times, než to vzdát. Výchozí hodnota je 3. Minimální hodnota je 1.

namespace
str
výchozí hodnota: None

Obor názvů Kubernetes, ve kterém se má tato webová služba nasadit: až 63 alfanumerických znaků s malými písmeny (a-z, 0-9) a spojovníku (-). První a poslední znak nesmí být pomlčky.

token_auth_enabled
bool
výchozí hodnota: None

Zda se má povolit ověřování tokenů pro tuto webovou službu. Pokud je tato možnost povolená, uživatelé můžou k této webové službě přistupovat tak, že načítají přístupový token pomocí svých přihlašovacích údajů Azure Active Directory. Výchozí hodnota je Nepravda.

cpu_cores_limit
float
výchozí hodnota: None

Maximální počet jader procesoru, která může tato webová služba používat. Může to být desetinná čárka.

memory_gb_limit
float
výchozí hodnota: None

Maximální velikost paměti (v GB) může tato webová služba používat. Může to být desetinná čárka.

kwargs
<xref:varies>
Vyžadováno

zahrnout parametry pro podporu migrace webové služby AKS do online koncového bodu a nasazení Kubernetes. is_migration=Pravda| False, compute_target=.

Výjimky