Webservice Klasa

Definiuje podstawowe funkcje wdrażania modeli jako punktów końcowych usługi internetowej w usłudze Azure Machine Learning.

Konstruktor usługi internetowej służy do pobierania reprezentacji chmury obiektu usługi internetowej skojarzonego z podanym obszarem roboczym. Zwraca wystąpienie klasy podrzędnej odpowiadające określonemu typowi pobranego obiektu usługi sieci Web. Klasa Webservice umożliwia wdrażanie modeli uczenia maszynowego z Model obiektu lub Image .

Aby uzyskać więcej informacji na temat pracy z usługą internetową, zobacz Deploy models with Azure Machine Learning (Wdrażanie modeli za pomocą usługi Azure Machine Learning).

Zainicjuj wystąpienie usługi internetowej.

Konstruktor usługi internetowej pobiera reprezentację w chmurze 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 internetowej.

Dziedziczenie
Webservice

Konstruktor

Webservice(workspace, name)

Parametry

workspace
Workspace
Wymagane

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

name
str
Wymagane

Nazwa obiektu usługi sieci Web do pobrania.

workspace
Workspace
Wymagane

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

name
str
Wymagane

Nazwa obiektu usługi sieci Web do pobrania.

Uwagi

Poniższy przykład przedstawia zalecany wzorzec wdrażania, w którym najpierw utworzysz obiekt konfiguracji z deploy_configuration metodą podrzędnej klasy usługi internetowej (w tym przypadku AksWebservice), a następnie użyjesz konfiguracji z deploy metodą Model klasy .


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

Poniższy przykład pokazuje, jak znaleźć istniejącą w AciWebservice obszarze roboczym i usunąć ją, jeśli istnieje, aby można było użyć jej ponownie.


   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)

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

  • deployModel metoda dla modeli już zarejestrowanych w obszarze roboczym.

  • deploy_from_image metoda dla obrazów Webservice utworzonych już na podstawie modelu.

  • deploy_from_modelWebservice metoda dla modeli już zarejestrowanych 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 usługi internetowej w chmurze. Te zmienne powinny być traktowane jako tylko do odczytu. Zmiana ich wartości nie zostanie odzwierciedlona w odpowiednim obiekcie chmury.

Zmienne

auth_enabled
bool

Niezależnie od tego, czy usługa sieci Web ma włączone uwierzytelnianie.

compute_type
str

Do jakiego typu obliczeń jest wdrażana usługa internetowa.

created_time
datetime

Po utworzeniu usługi sieci Web.

azureml.core.Webservice.description

Opis obiektu webservice.

azureml.core.Webservice.tags

Słownik tagów dla obiektu webservice.

azureml.core.Webservice.name

Nazwa usługi sieci Web.

azureml.core.Webservice.properties

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

created_by
str

Użytkownik, który utworzył usługę internetową.

error
str

Jeśli wdrożenie usługi sieci Web nie powiodło się, będzie on zawierać komunikat o błędzie z przyczyn niepowodzenia.

azureml.core.Webservice.state

Bieżący stan usługi sieci Web.

updated_time
datetime

Czas ostatniej aktualizacji usługi sieci Web.

azureml.core.Webservice.workspace

Obszar roboczy usługi Azure Machine Learning, który zawiera tę usługę internetową.

token_auth_enabled
bool

Niezależnie od tego, czy usługa internetowa ma włączone uwierzytelnianie tokenu.

Metody

check_for_existing_webservice

Sprawdź, czy usługa internetowa istnieje.

delete

Usuń tę usługę sieci Web ze skojarzonego obszaru roboczego.

To wywołanie funkcji nie jest asynchroniczne. Wywołanie jest uruchamiane do momentu usunięcia zasobu. Element WebserviceException jest zgłaszany, jeśli występuje problem z usunięciem modelu z usługi zarządzania modelami.

deploy

Wdróż usługę internetową z zera lub większej liczby Model obiektów.

Ta funkcja zarejestruje wszystkie udostępnione pliki modeli i utworzy obraz w procesie— wszystkie skojarzone z określonym Workspaceelementem . Użyj tej funkcji, gdy masz katalog modeli, aby wdrożyć te, które nie zostały wcześniej zarejestrowane.

Wynikowa usługa internetowa to punkt końcowy czasu rzeczywistego, który może służyć do wnioskowania żądań. Aby uzyskać więcej informacji, zobacz Korzystanie z modelu wdrożonego jako usługa internetowa.

deploy_from_image

Wdróż usługę internetową Image z obiektu.

Użyj tej funkcji, jeśli masz już obiekt Image utworzony dla modelu.

Wynikowa usługa internetowa to punkt końcowy czasu rzeczywistego, który może służyć do wnioskowania żądań. Aby uzyskać więcej informacji, zobacz Korzystanie z modelu wdrożonego jako usługa internetowa.

deploy_from_model

Wdróż usługę internetową z zera lub większej liczby Model obiektów.

Ta funkcja jest podobna do deploy, ale nie rejestruje modeli. Użyj tej funkcji, jeśli masz już zarejestrowane obiekty modelu. Spowoduje to utworzenie obrazu w procesie skojarzonym z określonym obszarem roboczym.

Wynikowa usługa internetowa to punkt końcowy czasu rzeczywistego, który może służyć do wnioskowania żądań. Aby uzyskać więcej informacji, zobacz Korzystanie z modelu wdrożonego jako usługa internetowa.

deploy_local_from_model

Skompiluj i wdróż element na potrzeby testowania LocalWebservice .

Wymaga zainstalowania i skonfigurowania platformy Docker.

deserialize

Przekonwertuj obiekt JSON odpowiedzi usługi zarządzania modelami na obiekt usługi sieci Web.

Nie powiedzie się, jeśli podany obszar roboczy nie jest obszarem roboczym, w ramach których zarejestrowano usługę internetową.

get_keys

Pobierz klucze uwierzytelniania dla tej usługi sieci Web.

get_logs

Pobierz dzienniki dla tej usługi sieci Web.

get_token

Pobierz token uwierzytelniania dla tej usługi sieci Web z zakresem bieżącego użytkownika.

list

Wyświetl listę usług sieci Web skojarzonych z odpowiednim Workspaceelementem .

Zwrócone wyniki można filtrować przy użyciu parametrów.

regen_key

Wygeneruj ponownie jeden z kluczy usługi internetowej — klucz podstawowy lub pomocniczy.

Element WebserviceException jest zgłaszany, jeśli key nie jest określony lub nie jest "Podstawowy" lub "Pomocniczy".

run

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

Metoda abstrakcyjna zaimplementowana przez klasy podrzędne klasy Webservice.

serialize

Przekonwertuj ten obiekt usługi internetowej na słownik serializacji JSON.

Służy deserialize do konwertowania z powrotem na obiekt usługi internetowej.

update

Zaktualizuj parametry usługi internetowej.

Jest to abstrakcyjna metoda zaimplementowana przez klasy podrzędne klasy Webservice. Możliwe parametry do zaktualizowania różnią się w zależności od typu podrzędnego usługi sieci Web. Na przykład w przypadku Azure Container Instances usług internetowych zobacz, aby update uzyskać informacje o określonych parametrach.

update_deployment_state

Odśwież bieżący stan obiektu w pamięci.

Wykonaj aktualizację w miejscu właściwości obiektu na podstawie bieżącego stanu odpowiedniego obiektu w chmurze. Przede wszystkim przydatne w przypadku ręcznego sondowania stanu tworzenia.

wait_for_deployment

Automatycznie sonduj uruchomione wdrożenie usługi internetowej.

Poczekaj, aż usługa internetowa osiągnie stan terminalu. Wyrzuć wartość WebserviceException , jeśli osiągnie stan terminalu zakończonego powodzeniem lub przekroczy podany limit czasu.

check_for_existing_webservice

Sprawdź, czy usługa internetowa istnieje.

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

Parametry

workspace
Workspace
Wymagane
name
str
Wymagane
overwrite
bool
wartość domyślna: False
request_func
<xref:function>
wartość domyślna: None

funkcja żądania usługi w celu sprawdzenia, czy nazwa usługi istnieje

check_func
<xref:function>
wartość domyślna: None

funkcja sprawdzania zawartości odpowiedzi request_func

Wyjątki

delete

Usuń tę usługę sieci Web ze skojarzonego obszaru roboczego.

To wywołanie funkcji nie jest asynchroniczne. Wywołanie jest uruchamiane do momentu usunięcia zasobu. Element WebserviceException jest zgłaszany, jeśli występuje problem z usunięciem modelu z usługi zarządzania modelami.

delete()

Wyjątki

deploy

Wdróż usługę internetową z zera lub większej liczby Model obiektów.

Ta funkcja zarejestruje wszystkie udostępnione pliki modeli i utworzy obraz w procesie— wszystkie skojarzone z określonym Workspaceelementem . Użyj tej funkcji, gdy masz katalog modeli, aby wdrożyć te, które nie zostały wcześniej zarejestrowane.

Wynikowa usługa internetowa to punkt końcowy czasu rzeczywistego, który może służyć do wnioskowania żądań. Aby uzyskać więcej informacji, zobacz Korzystanie z modelu wdrożonego jako usługa internetowa.

static deploy(workspace, name, model_paths, image_config, deployment_config=None, deployment_target=None, overwrite=False)

Parametry

workspace
Workspace
Wymagane

Obiekt Obszaru roboczego do skojarzenia usługi sieci Web z.

name
str
Wymagane

Nazwa, która ma nadać wdrożonej usłudze. Musi być unikatowy dla obszaru roboczego, składać się tylko z małych liter, cyfr lub kreski, zaczynać się literą i mieć długość od 3 do 32 znaków.

model_paths
list[str]
Wymagane

Lista ścieżek na dysku do modelowania plików lub folderów. Może być pustą listą.

image_config
ImageConfig
Wymagane

Obiekt ImageConfig używany do określania wymaganych właściwości obrazu.

deployment_config
WebserviceDeploymentConfiguration
wartość domyślna: None

WebserviceDeploymentConfiguration używana do konfigurowania usługi internetowej. Jeśli go nie podano, pusty obiekt konfiguracji będzie używany na podstawie żądanego obiektu docelowego.

deployment_target
ComputeTarget
wartość domyślna: None

Element A ComputeTarget do wdrożenia usługi sieci Web. Ponieważ Azure Container Instances nie jest skojarzonyComputeTarget, pozostaw ten parametr jako Brak, aby wdrożyć go w Azure Container Instances.

overwrite
bool
wartość domyślna: False

Zastąp istniejącą usługę, jeśli usługa o nazwie już istnieje.

Zwraca

Obiekt usługi internetowej odpowiadający wdrożonej usłudze internetowej.

Typ zwracany

Wyjątki

deploy_from_image

Wdróż usługę internetową Image z obiektu.

Użyj tej funkcji, jeśli masz już obiekt Image utworzony dla modelu.

Wynikowa usługa internetowa to punkt końcowy czasu rzeczywistego, który może służyć do wnioskowania żądań. Aby uzyskać więcej informacji, zobacz Korzystanie z modelu wdrożonego jako usługa internetowa.

static deploy_from_image(workspace, name, image, deployment_config=None, deployment_target=None, overwrite=False)

Parametry

workspace
Workspace
Wymagane

Obiekt Obszaru roboczego do skojarzenia usługi sieci Web z.

name
str
Wymagane

Nazwa, która ma nadać wdrożonej usłudze. Musi być unikatowy dla obszaru roboczego, składać się tylko z małych liter, cyfr lub kreski, zaczynać się literą i mieć długość od 3 do 32 znaków.

image
Image
Wymagane

Obiekt Image do wdrożenia.

deployment_config
WebserviceDeploymentConfiguration
wartość domyślna: None

WebserviceDeploymentConfiguration używana do konfigurowania usługi internetowej. Jeśli go nie podano, pusty obiekt konfiguracji będzie używany na podstawie żądanego obiektu docelowego.

deployment_target
ComputeTarget
wartość domyślna: None

Element A ComputeTarget do wdrożenia usługi sieci Web. Ponieważ Azure Container Instances nie jest skojarzonyComputeTarget, pozostaw ten parametr jako Brak, aby wdrożyć go w Azure Container Instances.

overwrite
bool
wartość domyślna: False

Zastąp istniejącą usługę, jeśli usługa o nazwie już istnieje.

Zwraca

Obiekt usługi internetowej odpowiadający wdrożonej usłudze internetowej.

Typ zwracany

Wyjątki

deploy_from_model

Wdróż usługę internetową z zera lub większej liczby Model obiektów.

Ta funkcja jest podobna do deploy, ale nie rejestruje modeli. Użyj tej funkcji, jeśli masz już zarejestrowane obiekty modelu. Spowoduje to utworzenie obrazu w procesie skojarzonym z określonym obszarem roboczym.

Wynikowa usługa internetowa to punkt końcowy czasu rzeczywistego, który może służyć do wnioskowania żądań. Aby uzyskać więcej informacji, zobacz Korzystanie z modelu wdrożonego jako usługa internetowa.

static deploy_from_model(workspace, name, models, image_config, deployment_config=None, deployment_target=None, overwrite=False)

Parametry

workspace
Workspace
Wymagane

Obiekt Obszaru roboczego do skojarzenia usługi sieci Web z.

name
str
Wymagane

Nazwa, która ma nadać wdrożonej usłudze. Musi być unikatowy dla obszaru roboczego, składać się tylko z małych liter, cyfr lub kreski, zaczynać się literą i mieć długość od 3 do 32 znaków.

models
list[Model]
Wymagane

Lista obiektów modelu. Może być pustą listą.

image_config
ImageConfig
Wymagane

Obiekt ImageConfig używany do określania wymaganych właściwości obrazu.

deployment_config
WebserviceDeploymentConfiguration
wartość domyślna: None

WebserviceDeploymentConfiguration używana do konfigurowania usługi internetowej. Jeśli go nie podano, pusty obiekt konfiguracji będzie używany na podstawie żądanego obiektu docelowego.

deployment_target
ComputeTarget
wartość domyślna: None

Element A ComputeTarget do wdrożenia usługi sieci Web. Ponieważ usługa ACI nie jest skojarzona ComputeTarget, pozostaw ten parametr jako Brak, aby wdrożyć go w usłudze ACI.

overwrite
bool
wartość domyślna: False

Zastąp istniejącą usługę, jeśli usługa o nazwie już istnieje.

Zwraca

Obiekt usługi internetowej odpowiadający wdrożonej usłudze internetowej.

Typ zwracany

Wyjątki

deploy_local_from_model

Skompiluj i wdróż element na potrzeby testowania LocalWebservice .

Wymaga zainstalowania i skonfigurowania platformy Docker.

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

Parametry

workspace
Workspace
Wymagane

Obiekt obszaru roboczego, z którym ma być skojarzyna usługa sieci Web.

name
str
Wymagane

Nazwa, która ma nadać wdrożonej usłudze. Musi być unikatowa na komputerze lokalnym.

models
list[Model]
Wymagane

Lista obiektów modelu. Może być pustą listą.

image_config
ImageConfig
Wymagane

Obiekt ImageConfig używany do określania wymaganych właściwości obrazu usługi.

deployment_config
LocalWebserviceDeploymentConfiguration
wartość domyślna: None

LocalWebserviceDeploymentConfiguration używana do konfigurowania usługi internetowej. Jeśli nie zostanie podany, zostanie użyty pusty obiekt konfiguracji.

wait
bool
wartość domyślna: False

Czy poczekać, aż kontener Platformy Docker usługi LocalWebservice będzie raportować jako w dobrej kondycji. Zgłasza wyjątek, jeśli kontener ulegnie awarii. Wartość domyślna to False.

Typ zwracany

Wyjątki

deserialize

Przekonwertuj obiekt JSON odpowiedzi usługi zarządzania modelami na obiekt usługi sieci Web.

Nie powiedzie się, jeśli podany obszar roboczy nie jest obszarem roboczym, w ramach których zarejestrowano usługę internetową.

deserialize(workspace, webservice_payload)

Parametry

cls
Wymagane

Wskazuje, że jest to metoda klasy.

workspace
Workspace
Wymagane

Obiekt obszaru roboczego, w ramach których zarejestrowano usługę internetową.

webservice_payload
dict
Wymagane

Obiekt JSON, który ma być konwertowany na obiekt usługi internetowej.

Zwraca

Reprezentacja podanego obiektu JSON w usłudze Webservice.

Typ zwracany

Wyjątki

get_keys

Pobierz klucze uwierzytelniania dla tej usługi sieci Web.

get_keys()

Zwraca

Klucze uwierzytelniania dla tej usługi sieci Web.

Typ zwracany

(str, str)

Wyjątki

get_logs

Pobierz dzienniki dla tej usługi sieci Web.

get_logs(num_lines=5000, init=False)

Parametry

num_lines
int
wartość domyślna: 5000

Maksymalna liczba wierszy dziennika do pobrania.

init
bool
wartość domyślna: False

Pobieranie dzienników kontenera init

Zwraca

Dzienniki dla tej usługi sieci Web.

Typ zwracany

str

Wyjątki

get_token

Pobierz token uwierzytelniania dla tej usługi sieci Web z zakresem bieżącego użytkownika.

get_token()

Zwraca

Token uwierzytelniania dla tej usługi internetowej i kiedy należy go odświeżyć po.

Typ zwracany

Wyjątki

list

Wyświetl listę usług sieci Web skojarzonych z odpowiednim Workspaceelementem .

Zwrócone wyniki można filtrować przy użyciu parametrów.

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
Wymagane

Obiekt Workspace do wyświetlenia listy usług sieci Web.

compute_type
str
wartość domyślna: None

Filtruj, aby wyświetlić listę tylko określonych typów usług sieci Web. Opcje to "ACI", "AKS".

image_name
str
wartość domyślna: None

Filtruj listę, aby uwzględnić tylko usługi internetowe wdrożone z określoną nazwą obrazu.

image_id
str
wartość domyślna: None

Filtruj listę, aby uwzględnić tylko usługi internetowe wdrożone przy użyciu określonego identyfikatora obrazu.

model_name
str
wartość domyślna: None

Filtruj listę, aby uwzględnić tylko usługi internetowe wdrożone z określoną nazwą modelu.

model_id
str
wartość domyślna: None

Filtruj listę, aby uwzględnić tylko usługi internetowe wdrożone przy użyciu określonego identyfikatora modelu.

tags
list
wartość domyślna: None

Filtruj na podstawie podanej listy według ciągu "key" lub "[key, value]". Np. ['key', ['key2', 'key2 value']]

properties
list
wartość domyślna: None

Filtruj na podstawie podanej listy według ciągu "key" lub "[key, value]". Np. ['key', ['key2', 'key2 value']]

image_digest
str
wartość domyślna: None

Filtruj listę, aby uwzględnić tylko usługi internetowe wdrożone przy użyciu określonego skrótu obrazu.

Zwraca

Filtrowana lista usług internetowych w podanym obszarze roboczym.

Typ zwracany

Wyjątki

regen_key

Wygeneruj ponownie jeden z kluczy usługi internetowej — klucz podstawowy lub pomocniczy.

Element WebserviceException jest zgłaszany, jeśli key nie jest określony lub nie jest "Podstawowy" lub "Pomocniczy".

regen_key(key, set_key=None)

Parametry

key
str
Wymagane

Klucz do ponownego wygenerowania. Opcje to "Primary" lub "Secondary".

set_key
str
wartość domyślna: None

Określona przez użytkownika wartość umożliwiająca ręczną specyfikację wartości klucza

Wyjątki

run

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

Metoda abstrakcyjna zaimplementowana przez klasy podrzędne klasy Webservice.

abstract run(input)

Parametry

input
<xref:varies>
Wymagane

Dane wejściowe do wywołania usługi internetowej za pomocą polecenia . Są to dane oczekiwane przez model uczenia maszynowego jako dane wejściowe do uruchamiania przewidywań.

Zwraca

Wynik wywołania usługi sieci Web. Spowoduje to zwrócenie przewidywań uruchomionych z modelu uczenia maszynowego.

Typ zwracany

Wyjątki

serialize

Przekonwertuj ten obiekt usługi internetowej na słownik serializacji JSON.

Służy deserialize do konwertowania z powrotem na obiekt usługi internetowej.

serialize()

Zwraca

Reprezentacja JSON tej usługi internetowej.

Typ zwracany

Wyjątki

update

Zaktualizuj parametry usługi internetowej.

Jest to abstrakcyjna metoda zaimplementowana przez klasy podrzędne klasy Webservice. Możliwe parametry do zaktualizowania różnią się w zależności od typu podrzędnego usługi sieci Web. Na przykład w przypadku Azure Container Instances usług internetowych zobacz, aby update uzyskać informacje o określonych parametrach.

abstract update(*args)

Parametry

args
<xref:varies>
Wymagane

Wartości do zaktualizowania.

Wyjątki

update_deployment_state

Odśwież bieżący stan obiektu w pamięci.

Wykonaj aktualizację w miejscu właściwości obiektu na podstawie bieżącego stanu odpowiedniego obiektu w chmurze. Przede wszystkim przydatne w przypadku ręcznego sondowania stanu tworzenia.

update_deployment_state()

Wyjątki

wait_for_deployment

Automatycznie sonduj uruchomione wdrożenie usługi internetowej.

Poczekaj, aż usługa internetowa osiągnie stan terminalu. Wyrzuć wartość WebserviceException , jeśli osiągnie stan terminalu zakończonego powodzeniem lub przekroczy podany limit czasu.

wait_for_deployment(show_output=False, timeout_sec=None)

Parametry

show_output
bool
wartość domyślna: False

Wskazuje, czy wyświetlić więcej pełnych danych wyjściowych.

timeout_sec
float
wartość domyślna: None

Zgłoś wyjątek, jeśli wdrożenie przekroczy limit czasu.

Wyjątki