AksWebservice Klasa

Reprezentuje model uczenia maszynowego wdrożony jako punkt końcowy usługi internetowej w Azure Kubernetes Service.

Wdrożona usługa jest tworzona na podstawie modelu, skryptu i skojarzonych plików. Wynikowa usługa internetowa to punkt końcowy HTTP o zrównoważonym obciążeniu z interfejsem API REST. Dane można wysyłać do tego interfejsu API i otrzymywać przewidywania zwrócone przez model.

Usługa AksWebservice wdraża pojedynczą usługę w jednym punkcie końcowym. Aby wdrożyć wiele usług w jednym punkcie końcowym, użyj AksEndpoint klasy .

Aby uzyskać więcej informacji, zobacz Wdrażanie modelu w klastrze Azure Kubernetes Service.

Zainicjuj wystąpienie usługi internetowej.

Konstruktor usługi internetowej pobiera reprezentację chmury obiektu usługi internetowej skojarzonego z podanym obszarem roboczym. Zwróci wystąpienie klasy podrzędnej odpowiadające określonemu typowi pobranego obiektu usługi sieci Web.

Dziedziczenie
AksWebservice

Konstruktor

AksWebservice(workspace, name)

Parametry

workspace
Workspace
Wymagane

Obiekt obszaru roboczego zawierający obiekt usługi sieci Web do pobrania.

name
str
Wymagane

Nazwa obiektu webservice do pobrania.

Uwagi

Zalecanym wzorcem wdrażania jest utworzenie obiektu konfiguracji wdrożenia za deploy_configuration pomocą metody , a następnie użycie go z deploy metodą Model klasy, jak pokazano poniżej.


   # 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)

Pełna próbka jest dostępna z witryny https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb

Istnieje wiele sposobów wdrażania modelu jako usługi internetowej, w tym następujących elementów:

  • deploy metoda dla modeli już zarejestrowanych Model w obszarze roboczym.

  • deploy_from_imagemetoda .Webservice

  • deploy_from_model metoda dla modeli już zarejestrowanych Webservice w obszarze roboczym. Ta metoda spowoduje utworzenie obrazu.

  • deployWebservicemetoda , która zarejestruje model i utworzy obraz.

Aby uzyskać informacje na temat pracy z usługami internetowymi, zobacz

Sekcja Zmienne zawiera listę atrybutów lokalnej reprezentacji obiektu cloud AksWebservice. Te zmienne powinny być traktowane jako tylko do odczytu. Zmiana ich wartości nie zostanie odzwierciedlona w odpowiednim obiekcie chmury.

Zmienne

enable_app_insights
bool

Niezależnie od tego, czy rejestrowanie usługi AppInsights jest włączone dla usługi internetowej.

autoscaler
AutoScaler

Obiekt autoskalatora dla usługi internetowej.

compute_name
str

Nazwa obiektu ComputeTarget, w ramach którego wdrożono usługę internetową.

container_resource_requirements
ContainerResourceRequirements

Wymagania dotyczące zasobów kontenera dla usługi internetowej.

liveness_probe_requirements
LivenessProbeRequirements

Wymagania sondy utrzymania dla usługi internetowej.

data_collection
DataCollection

Obiekt DataCollection dla usługi sieci Web.

max_concurrent_requests_per_container
int

Maksymalna liczba współbieżnych żądań na kontener dla usługi internetowej.

max_request_wait_time
int

Maksymalny czas oczekiwania żądania dla usługi internetowej (w milisekundach).

num_replicas
int

Liczba replik usługi sieci Web. Każda replika odpowiada zasobnikowi usługi AKS.

scoring_timeout_ms
int

Limit czasu oceniania dla usługi internetowej w milisekundach.

azureml.core.webservice.AksWebservice.scoring_uri
str

Punkt końcowy oceniania dla usługi internetowej

is_default
bool

Jeśli usługa sieci Web jest domyślną wersją nadrzędnego punktu końcowego AksEndpoint.

traffic_percentile
int

Jaki procent ruchu ma być kierowany do usługi internetowej w nadrzędnym elemencie AksEndpoint.

version_type
VersionType

Typ wersji usługi internetowej w nadrzędnym AksEndpoint.

token_auth_enabled
bool

Określa, czy dla usługi sieci Web jest włączone uwierzytelnianie tokenu.

environment
Environment

Obiekt Environment, który został użyty do utworzenia usługi sieci Web.

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

Lista modeli wdrożonych w usłudze internetowej.

deployment_status
str

Stan wdrożenia usługi sieci Web.

namespace
str

Przestrzeń nazw usługi AKS usługi internetowej.

azureml.core.webservice.AksWebservice.swagger_uri
str

Punkt końcowy struktury Swagger dla usługi internetowej.

Metody

add_properties

Dodaj pary wartości klucza do słownika właściwości tej usługi sieci Web.

add_tags

Dodaj pary klucz-wartość do słownika tagów tej usługi sieci Web.

Wywołuje element WebserviceException.

deploy_configuration

Utwórz obiekt konfiguracji do wdrażania w docelowym obiekcie obliczeniowym usługi AKS.

get_access_token

Pobierz token uwierzytelniania dla tej usługi sieci Web.

get_token

PRZESTARZAŁE. Zamiast tego użyj get_access_token metody .

Pobierz token uwierzytelniania dla tej usługi sieci Web.

remove_tags

Usuń określone klucze ze słownika tagów tej usługi sieci Web.

run

Wywołaj tę usługę sieci Web przy użyciu podanych danych wejściowych.

serialize

Przekonwertuj tę usługę internetową na słownik serializacji JSON.

update

Zaktualizuj usługę sieci Web przy użyciu podanych właściwości.

Wartości pozostawione jako Brak pozostaną niezmienione w tej usłudze sieci Web.

add_properties

Dodaj pary wartości klucza do słownika właściwości tej usługi sieci Web.

add_properties(properties)

Parametry

properties
dict[str, str]
Wymagane

Słownik właściwości do dodania.

add_tags

Dodaj pary klucz-wartość do słownika tagów tej usługi sieci Web.

Wywołuje element WebserviceException.

add_tags(tags)

Parametry

tags
dict[str, str]
Wymagane

Słownik tagów do dodania.

Wyjątki

deploy_configuration

Utwórz obiekt konfiguracji do wdrażania w docelowym obiekcie obliczeniowym usługi 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
wartość domyślna: None

Określa, czy włączyć skalowanie automatyczne dla tej usługi sieci Web. Wartość domyślna to True, jeśli num_replicas to Brak.

autoscale_min_replicas
int
wartość domyślna: None

Minimalna liczba kontenerów do użycia podczas skalowania automatycznego tej usługi sieci Web. Wartość domyślna to 1.

autoscale_max_replicas
int
wartość domyślna: None

Maksymalna liczba kontenerów do użycia podczas skalowania automatycznego tej usługi sieci Web. Wartość domyślna to 10.

autoscale_refresh_seconds
int
wartość domyślna: None

Jak często autoskalator powinien próbować skalować tę usługę internetową. Wartość domyślna to 1.

autoscale_target_utilization
int
wartość domyślna: None

Docelowe wykorzystanie (w procentach na 100) autoskalator powinien podjąć próbę utrzymania dla tej usługi sieci Web. Wartość domyślna to 70.

collect_model_data
bool
wartość domyślna: None

Określa, czy włączyć zbieranie danych modelu dla tej usługi sieci Web. Wartość domyślna to False.

auth_enabled
bool
wartość domyślna: None

Określa, czy włączyć uwierzytelnianie klucza dla tej usługi sieci Web. Wartość domyślna to True.

cpu_cores
float
wartość domyślna: None

Liczba rdzeni procesora cpu do przydzielenia dla tej usługi sieci Web. Może to być liczba dziesiętna. Wartość domyślna to 0.1. Odpowiada żądaniu rdzenia zasobnika, a nie limitowi w Azure Kubernetes Service.

memory_gb
float
wartość domyślna: None

Ilość pamięci (w GB) do przydzielenia dla tej usługi sieci Web. Może to być liczba dziesiętna. Wartość domyślna to 0,5. Odpowiada żądaniu pamięci zasobnika, a nie limitowi w Azure Kubernetes Service.

enable_app_insights
bool
wartość domyślna: None

Czy włączyć rejestrowanie usługi Application Insights dla tej usługi sieci Web. Wartość domyślna to False.

scoring_timeout_ms
int
wartość domyślna: None

Limit czasu wymuszany dla wywołań oceniania do tej usługi sieci Web. Wartość domyślna to 60000.

replica_max_concurrent_requests
int
wartość domyślna: None

Maksymalna liczba współbieżnych żądań na replikę w celu zezwolenia na tę usługę sieci Web. Wartość domyślna to 1. Nie zmieniaj tego ustawienia z wartości domyślnej 1, chyba że zostanie to poinstruowane przez pomoc techniczną firmy Microsoft lub członka zespołu usługi Azure Machine Learning.

max_request_wait_time
int
wartość domyślna: None

Maksymalny czas oczekiwania żądania pozostanie w kolejce (w milisekundach) przed zwróceniem błędu 503. Wartość domyślna to 500.

num_replicas
int
wartość domyślna: None

Liczba kontenerów do przydzielenia dla tej usługi sieci Web. Nie, jeśli ten parametr nie jest ustawiony, autoskalator jest domyślnie włączony.

primary_key
str
wartość domyślna: None

Podstawowy klucz uwierzytelniania do użycia dla tej usługi sieci Web.

secondary_key
str
wartość domyślna: None

Pomocniczy klucz uwierzytelniania do użycia dla tej usługi sieci Web.

tags
dict[str, str]
wartość domyślna: None

Słownik tagów wartości klucza, aby nadać tej usłudze sieci Web.

properties
dict[str, str]
wartość domyślna: None

Słownik właściwości wartości klucza, aby nadać tej usłudze sieci Web. Tych właściwości nie można zmienić po wdrożeniu, jednak można dodać nowe pary wartości klucza.

description
str
wartość domyślna: None

Opis umożliwiający nadanie tej usłudze sieci Web.

gpu_cores
int
wartość domyślna: None

Liczba rdzeni procesora GPU do przydzielenia dla tej usługi sieci Web. Wartość domyślna to 0.

period_seconds
int
wartość domyślna: None

Jak często (w sekundach) wykonać sondę liveness. Wartość domyślna to 10 sekund. Wartość minimalna to 1.

initial_delay_seconds
int
wartość domyślna: None

Liczba sekund po uruchomieniu kontenera przed zainicjowaniem sond dynamicznych. Wartość domyślna to 310.

timeout_seconds
int
wartość domyślna: None

Liczba sekund, po których upłynął limit czasu sondy utrzymania. Wartość domyślna to 2 sekundy. Wartość minimalna to 1.

success_threshold
int
wartość domyślna: None

Minimalna liczba kolejnych sukcesów dla sondy utrzymania, która ma zostać uznana za pomyślną po niepowieść. Wartość domyślna to 1. Wartość minimalna to 1.

failure_threshold
int
wartość domyślna: None

Po uruchomieniu zasobnika i niepowodzeniu sondy aktualności platforma Kubernetes spróbuje użyć czasu niepowodzeniaThreshold przed rezygnacją. Wartość domyślna to 3. Wartość minimalna to 1.

namespace
str
wartość domyślna: None

Przestrzeń nazw Kubernetes, w której ma zostać wdrożona ta usługa internetowa: maksymalnie 63 małe litery alfanumeryczne ('a'-'z', '0'-'9') i znaki łącznika ('-'). Pierwsze i ostatnie znaki nie mogą być łącznikami.

token_auth_enabled
bool
wartość domyślna: None

Czy włączyć uwierzytelnianie tokenu dla tej usługi sieci Web. Jeśli ta opcja jest włączona, użytkownicy mogą uzyskiwać dostęp do tej usługi sieci Web, pobierając token dostępu przy użyciu poświadczeń usługi Azure Active Directory. Wartość domyślna to False.

compute_target_name
str
wartość domyślna: None

Nazwa docelowego obiektu obliczeniowego do wdrożenia

cpu_cores_limit
float
wartość domyślna: None

Maksymalna liczba rdzeni procesora cpu, z których może korzystać ta usługa sieci Web. Może to być liczba dziesiętna.

memory_gb_limit
float
wartość domyślna: None

Maksymalna ilość pamięci (w GB) dozwolonej przez tę usługę sieci Web. Może to być liczba dziesiętna.

blobfuse_enabled
bool
wartość domyślna: None

Czy włączyć blobfuse na potrzeby pobierania modelu dla tej usługi sieci Web. Wartość domyślna to True

Zwraca

Obiekt konfiguracji używany podczas wdrażania usługi AksWebservice.

Typ zwracany

Wyjątki

get_access_token

Pobierz token uwierzytelniania dla tej usługi sieci Web.

get_access_token()

Zwraca

Obiekt opisujący token uwierzytelniania dla tej usługi sieci Web.

Typ zwracany

Wyjątki

get_token

PRZESTARZAŁE. Zamiast tego użyj get_access_token metody .

Pobierz token uwierzytelniania dla tej usługi sieci Web.

get_token()

Zwraca

Token uwierzytelniania dla tej usługi sieci Web i kiedy go odświeżyć.

Typ zwracany

Wyjątki

remove_tags

Usuń określone klucze ze słownika tagów tej usługi sieci Web.

remove_tags(tags)

Parametry

tags
list[str]
Wymagane

Lista kluczy do usunięcia

run

Wywołaj tę usługę sieci Web przy użyciu podanych danych wejściowych.

run(input_data)

Parametry

input_data
<xref:varies>
Wymagane

Dane wejściowe do wywołania usługi sieci Web za pomocą polecenia

Zwraca

Wynik wywołania usługi sieci Web

Typ zwracany

Wyjątki

serialize

Przekonwertuj tę usługę internetową na słownik serializacji JSON.

serialize()

Zwraca

Reprezentacja JSON tej usługi sieci Web.

Typ zwracany

update

Zaktualizuj usługę sieci Web przy użyciu podanych właściwości.

Wartości pozostawione jako Brak pozostaną niezmienione w tej usłudze sieci Web.

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
wartość domyślna: None

Nowy obraz do wdrożenia w usłudze internetowej

autoscale_enabled
bool
wartość domyślna: None

Włączanie lub wyłączanie automatycznego skalowania tej usługi sieci Web

autoscale_min_replicas
int
wartość domyślna: None

Minimalna liczba kontenerów do użycia podczas automatycznego skalowania tej usługi sieci Web

autoscale_max_replicas
int
wartość domyślna: None

Maksymalna liczba kontenerów do użycia podczas automatycznego skalowania tej usługi sieci Web

autoscale_refresh_seconds
int
wartość domyślna: None

Jak często program skalowania automatycznego powinien próbować skalować tę usługę internetową

autoscale_target_utilization
int
wartość domyślna: None

Użycie docelowe (w procentach na 100) autoskalator powinien podjąć próbę utrzymania dla tej usługi sieci Web

collect_model_data
bool
wartość domyślna: None

Włączanie lub wyłączanie zbierania danych modelu dla tej usługi sieci Web

auth_enabled
bool
wartość domyślna: None

Czy włączyć uwierzytelnianie dla tej usługi sieci Web

cpu_cores
float
wartość domyślna: None

Liczba rdzeni procesora, które mają być przydzielane dla tej usługi sieci Web. Może być dziesiętnym

memory_gb
float
wartość domyślna: None

Ilość pamięci (w GB), która ma być przydzielana dla tej usługi sieci Web. Może być dziesiętnym

enable_app_insights
bool
wartość domyślna: None

Czy włączyć rejestrowanie usługi Application Insights dla tej usługi sieci Web

scoring_timeout_ms
int
wartość domyślna: None

Limit czasu wymuszania wywołań oceniania dla tej usługi sieci Web

replica_max_concurrent_requests
int
wartość domyślna: None

Liczba maksymalnie współbieżnych żądań na replikę, która umożliwia korzystanie z tej usługi sieci Web.

max_request_wait_time
int
wartość domyślna: None

Maksymalny czas, przez jaki żądanie pozostanie w kolejce (w milisekundach) przed zwróceniem błędu 503

num_replicas
int
wartość domyślna: None

Liczba kontenerów do przydzielenia dla tej usługi sieci Web

tags
dict[str, str]
wartość domyślna: None

Słownik tagów wartości klucza, aby nadać tej usłudze sieci Web. Zastąpi istniejące tagi.

properties
dict[str, str]
wartość domyślna: None

Słownik właściwości wartości klucza do dodania do istniejącego słownika właściwości

description
str
wartość domyślna: None

Opis umożliwiający nadanie tej usłudze sieci Web

models
list[Model]
wartość domyślna: None

Lista obiektów modelu do spakowania za pomocą zaktualizowanej usługi

inference_config
InferenceConfig
wartość domyślna: None

Obiekt InferenceConfig używany do udostępniania wymaganych właściwości wdrożenia modelu.

gpu_cores
int
wartość domyślna: None

Liczba rdzeni procesora GPU do przydzielenia dla tej usługi sieci Web

period_seconds
int
wartość domyślna: None

Jak często (w sekundach) wykonać sondę liveness. Wartość domyślna to 10 sekund. Wartość minimalna to 1.

initial_delay_seconds
int
wartość domyślna: None

Liczba sekund po uruchomieniu kontenera przed zainicjowanymi sondami aktualności.

timeout_seconds
int
wartość domyślna: None

Liczba sekund, po których upłynął limit czasu sondy liveness. Wartość domyślna to 1 sekunda. Wartość minimalna to 1.

success_threshold
int
wartość domyślna: None

Minimalna liczba kolejnych sukcesów dla sondy liveness, która ma zostać uznana za pomyślną po nieudanej awarii. Wartość domyślna to 1. Wartość minimalna to 1.

failure_threshold
int
wartość domyślna: None

Po uruchomieniu zasobnika i niepowodzeniu sondy liveness platforma Kubernetes spróbuje użyć czasu niepowodzeniaThreshold przed rezygnacją. Wartość domyślna to 3. Wartość minimalna to 1.

namespace
str
wartość domyślna: None

Przestrzeń nazw platformy Kubernetes, w której ma zostać wdrożona ta usługa sieci Web: do 63 małych liter alfanumeryczne ('a'-'z', '0'-'9') i łącznika ('-'). Pierwsze i ostatnie znaki nie mogą być łącznikami.

token_auth_enabled
bool
wartość domyślna: None

Czy włączyć uwierzytelnianie tokenu dla tej usługi sieci Web. Jeśli ta opcja jest włączona, użytkownicy mogą uzyskiwać dostęp do tej usługi sieci Web, pobierając token dostępu przy użyciu poświadczeń usługi Azure Active Directory. Wartości domyślne to False

cpu_cores_limit
float
wartość domyślna: None

Maksymalna liczba rdzeni procesora cpu, z których może korzystać ta usługa sieci Web. Może to być liczba dziesiętna.

memory_gb_limit
float
wartość domyślna: None

Maksymalna ilość pamięci (w GB) dozwolonej przez tę usługę sieci Web. Może to być liczba dziesiętna.

kwargs
<xref:varies>
Wymagane

dołączanie parametrów do obsługi migrowania usługi internetowej AKS do punktu końcowego i wdrożenia online platformy Kubernetes. is_migration=True| False, compute_target=.

Wyjątki