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 Wdrażanie modeli za pomocą usługi Azure Machine Learning.

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
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 usługi sieci Web do pobrania.

workspace
Wymagane

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

name
Wymagane
str

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 przy deploy_configuration użyciu metody podrzędnej klasy webservice (w tym przypadku AksWebservice), a następnie użyj 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 z witryny 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 ponownie użyć nazwy.


   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 metoda dla modeli już zarejestrowanych Model w obszarze roboczym.

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

  • deploy_from_model metoda dla modeli już zarejestrowanych Webservice 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łączony uwierzytelnianie.

compute_type
str

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

created_time

Po utworzeniu usługi sieci Web.

azureml.core.Webservice.description

Opis obiektu usługi sieci Web.

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. Nie można zmienić tych właściwości 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 nie można wdrożyć usługi sieci Web, będzie to zawierać komunikat o błędzie, dla których nie powiodło się.

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 zawierający tę usługę internetową.

token_auth_enabled

Niezależnie od tego, czy usługa sieci Web ma włączony 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 o określonym zakresie dla 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 sieci Web— klucz podstawowy lub pomocniczy.

Wartość jest WebserviceException zgłaszana, jeśli key nie jest określona lub nie jest "Podstawowa" lub "Pomocnicza".

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 sieci Web na słownik serializowany w formacie JSON.

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

update

Zaktualizuj parametry usługi sieci Web.

Jest to abstrakcyjna metoda zaimplementowana przez klasy podrzędne klasy Webservice. Możliwe parametry aktualizacji 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 zapoznać się update z określonymi parametrami.

update_deployment_state

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

Wykonaj aktualizację właściwości obiektu w miejscu 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 sieci Web osiągnie stan terminalu. Zgłosi błąd WebserviceException , jeśli osiągnie stan terminalu, który nie powiedzie się, 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, jeśli występuje problem z usunięciem modelu z usługi zarządzania modelami.

delete()

Wyjątki

Typ Opis

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

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 kreski, 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 będzie używany na podstawie żądanego obiektu docelowego.

Domyślna wartość: None
deployment_target

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.

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 internetowej 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 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

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 kreski, 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 będzie używany na podstawie żądanego obiektu docelowego.

Domyślna wartość: None
deployment_target

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.

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 internetowej odpowiadający wdrożonej usłudze internetowej.

Wyjątki

Typ Opis

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

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 kreski, 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 będzie używany na podstawie żądanego obiektu docelowego.

Domyślna wartość: None
deployment_target

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.

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 internetowej 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

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

Domyślna wartość: None
wait

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.

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.

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

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, który ma być konwertowany 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 o określonym zakresie dla bieżącego użytkownika.

get_token()

Zwraca

Typ Opis

Token uwierzytelniania dla tej usługi sieci Web i kiedy powinien zostać odświeżony 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 Obszar roboczy, w ramach których ma być wyświetlona lista 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 sieci Web wdrożone przy użyciu określonej nazwy obrazu.

Domyślna wartość: None
image_id
str

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

Domyślna wartość: None
model_name
str

Filtruj listę, aby uwzględnić tylko usługi sieci Web wdrożone przy użyciu określonej nazwy modelu.

Domyślna wartość: None
model_id
str

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

Domyślna wartość: None
tags

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

Domyślna wartość: None
properties

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

Domyślna wartość: None
image_digest
str

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

Domyślna wartość: None

Zwraca

Typ Opis

Przefiltrowana lista usług sieci Web w podanym obszarze roboczym.

Wyjątki

Typ Opis

regen_key

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

Wartość jest WebserviceException zgłaszana, jeśli key nie jest określona lub nie jest "Podstawowa" lub "Pomocnicza".

regen_key(key, set_key=None)

Parametry

Nazwa Opis
key
Wymagane
str

Klucz do ponownego wygenerowania. Opcje to "Podstawowa" lub "Pomocnicza".

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 sieci Web 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ń uruchamianych z modelu uczenia maszynowego.

Wyjątki

Typ Opis

serialize

Przekonwertuj ten obiekt usługi sieci Web na słownik serializowany w formacie JSON.

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

serialize()

Zwraca

Typ Opis

Reprezentacja JSON tej usługi sieci Web.

Wyjątki

Typ Opis

update

Zaktualizuj parametry usługi sieci Web.

Jest to abstrakcyjna metoda zaimplementowana przez klasy podrzędne klasy Webservice. Możliwe parametry aktualizacji 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 zapoznać się update z określonymi parametrami.

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łaściwości obiektu w miejscu 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 sieci Web osiągnie stan terminalu. Zgłosi błąd WebserviceException , jeśli osiągnie stan terminalu, który nie powiedzie się, lub przekroczy podany limit czasu.

wait_for_deployment(show_output=False, timeout_sec=None)

Parametry

Nazwa Opis
show_output

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

Domyślna wartość: False
timeout_sec

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

Domyślna wartość: None

Wyjątki

Typ Opis