Udostępnij za pośrednictwem


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

Nazwa Opis
workspace
Wymagane

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

name
Wymagane
str

Nazwa obiektu webservice do pobrania.

workspace
Wymagane

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

name
Wymagane
str

Nazwa obiektu webservice 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:

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

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

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

  • deploy Webservicemetoda , 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

Nazwa Opis
auth_enabled

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

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

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

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 w przypadku wystąpienia problemu z usunięciem modelu z usługi zarządzania modelami.

deploy

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

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

Wynikowa usługa internetowa to punkt końcowy w czasie rzeczywistym, 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 w czasie rzeczywistym, 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ą na podstawie zera lub większej liczby Model obiektów.

Ta funkcja jest podobna do deployfunkcji , 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 w czasie rzeczywistym, 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.

Zakończy się niepowodzeniem, 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

Nazwa Opis
workspace
Wymagane
name
Wymagane
str
overwrite
Domyślna wartość: False
request_func
<xref:function>

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

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

funkcja sprawdzania zawartości odpowiedzi request_func

Domyślna wartość: None

Wyjątki

Typ Opis

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 w przypadku wystąpienia problemu z usunięciem modelu z usługi zarządzania modelami.

delete()

Wyjątki

Typ Opis

deploy

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

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

Wynikowa usługa internetowa to punkt końcowy w czasie rzeczywistym, 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

Nazwa Opis
workspace
Wymagane

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

name
Wymagane
str

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 kresek, zaczynać się literą i mieć długość od 3 do 32 znaków.

model_paths
Wymagane

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

image_config
Wymagane

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

deployment_config

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

Domyślna wartość: None
deployment_target

A ComputeTarget , aby wdrożyć usługę internetową. Ponieważ Azure Container Instances nie ma skojarzonego ComputeTargetparametru , pozostaw ten parametr jako Brak, aby wdrożyć go w Azure Container Instances.

Domyślna wartość: None
overwrite

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

Domyślna wartość: False

Zwraca

Typ Opis

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

Wyjątki

Typ Opis

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 w czasie rzeczywistym, 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

Nazwa Opis
workspace
Wymagane

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

name
Wymagane
str

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 kresek, zaczynać się literą i mieć długość od 3 do 32 znaków.

image
Wymagane

Obiekt Image do wdrożenia.

deployment_config

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

Domyślna wartość: None
deployment_target

A ComputeTarget , aby wdrożyć usługę internetową. Ponieważ Azure Container Instances nie ma skojarzonego ComputeTargetparametru , pozostaw ten parametr jako Brak, aby wdrożyć go w Azure Container Instances.

Domyślna wartość: None
overwrite

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

Domyślna wartość: False

Zwraca

Typ Opis

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

Wyjątki

Typ Opis

deploy_from_model

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

Ta funkcja jest podobna do deployfunkcji , 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 w czasie rzeczywistym, 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

Nazwa Opis
workspace
Wymagane

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

name
Wymagane
str

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 kresek, zaczynać się literą i mieć długość od 3 do 32 znaków.

models
Wymagane

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

image_config
Wymagane

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

deployment_config

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

Domyślna wartość: None
deployment_target

A ComputeTarget , aby wdrożyć usługę internetową. Ponieważ usługa ACI nie ma skojarzonego ComputeTargetparametru , pozostaw ten parametr jako Brak, aby wdrożyć go w usłudze ACI.

Domyślna wartość: None
overwrite

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

Domyślna wartość: False

Zwraca

Typ Opis

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

Wyjątki

Typ Opis

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

Nazwa Opis
workspace
Wymagane

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

name
Wymagane
str

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

models
Wymagane

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

image_config
Wymagane

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

deployment_config

Element LocalWebserviceDeploymentConfiguration używany do konfigurowania usługi internetowej. Jeśli go nie podano, zostanie użyty pusty obiekt konfiguracji.

Domyślna wartość: None
wait

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

Domyślna wartość: False

Zwraca

Typ Opis

Wyjątki

Typ Opis

deserialize

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

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

deserialize(workspace, webservice_payload)

Parametry

Nazwa Opis
cls
Wymagane

Wskazuje, że jest to metoda klasy.

workspace
Wymagane

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

webservice_payload
Wymagane

Obiekt JSON do konwersji na obiekt usługi internetowej.

Zwraca

Typ Opis

Reprezentacja podanego obiektu JSON w usłudze WebService.

Wyjątki

Typ Opis

get_keys

Pobierz klucze uwierzytelniania dla tej usługi sieci Web.

get_keys()

Zwraca

Typ Opis
(str, str)

Klucze uwierzytelniania dla tej usługi sieci Web.

Wyjątki

Typ Opis

get_logs

Pobierz dzienniki dla tej usługi sieci Web.

get_logs(num_lines=5000, init=False)

Parametry

Nazwa Opis
num_lines
int

Maksymalna liczba wierszy dziennika do pobrania.

Domyślna wartość: 5000
init

Pobieranie dzienników kontenera init

Domyślna wartość: False

Zwraca

Typ Opis
str

Dzienniki dla tej usługi sieci Web.

Wyjątki

Typ Opis

get_token

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

get_token()

Zwraca

Typ Opis

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

Wyjątki

Typ Opis

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

Nazwa Opis
workspace
Wymagane

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

compute_type
str

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

Domyślna wartość: None
image_name
str

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

Domyślna wartość: None
image_id
str

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

Domyślna wartość: None
model_name
str

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

Domyślna wartość: None
model_id
str

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

Domyślna wartość: None
tags

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

Domyślna wartość: None
properties

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

Domyślna wartość: None
image_digest
str

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

Domyślna wartość: None

Zwraca

Typ Opis

Filtrowana lista usług internetowych w podanym obszarze roboczym.

Wyjątki

Typ Opis

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

Nazwa Opis
key
Wymagane
str

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

set_key
str

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

Domyślna wartość: None

Wyjątki

Typ Opis

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

Nazwa Opis
input
Wymagane
<xref:varies>

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

Typ Opis

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

Wyjątki

Typ Opis

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

Typ Opis

Reprezentacja JSON tej usługi internetowej.

Wyjątki

Typ Opis

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

Nazwa Opis
args
Wymagane
<xref:varies>

Wartości do zaktualizowania.

Wyjątki

Typ Opis

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

Typ Opis

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

Nazwa Opis
show_output

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

Domyślna wartość: False
timeout_sec

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

Domyślna wartość: None

Wyjątki

Typ Opis