Dela via


Webservice Klass

Definierar grundläggande funktioner för att distribuera modeller som webbtjänstslutpunkter i Azure Machine Learning.

Webbtjänstkonstruktorn används för att hämta en molnrepresentation av ett webbtjänstobjekt som är associerat med den angivna arbetsytan. Returnerar en instans av en underordnad klass som motsvarar den specifika typen av det hämtade webbtjänstobjektet. Med klassen Webservice kan du distribuera maskininlärningsmodeller från antingen ett Model - eller Image -objekt.

Mer information om hur du arbetar med webbtjänster finns i Distribuera modeller med Azure Machine Learning.

Initiera webbtjänstinstansen.

Webbtjänstkonstruktorn hämtar en molnrepresentation av ett webbtjänstobjekt som är associerat med den angivna arbetsytan. Den returnerar en instans av en underordnad klass som motsvarar den specifika typen av det hämtade webbtjänstobjektet.

Arv
Webservice

Konstruktor

Webservice(workspace, name)

Parametrar

Name Description
workspace
Obligatorisk

Arbetsyteobjektet som innehåller webbtjänstobjektet som ska hämtas.

name
Obligatorisk
str

Namnet på webbtjänstobjektet som ska hämtas.

workspace
Obligatorisk

Arbetsyteobjektet som innehåller webbtjänstobjektet som ska hämtas.

name
Obligatorisk
str

Namnet på webbtjänstobjektet som ska hämtas.

Kommentarer

I följande exempel visas det rekommenderade distributionsmönstret där du först skapar ett konfigurationsobjekt med deploy_configuration metoden för den underordnade klassen webbtjänst (i det här fallet AksWebservice) och sedan använder konfigurationen deploy med -metoden för Model klassen .


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

Fullständigt exempel är tillgängligt från https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb

I följande exempel visas hur du hittar en befintlig AciWebservice på en arbetsyta och tar bort den om den finns så att namnet kan återanvändas.


   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)

Det finns ett antal sätt att distribuera en modell som en webbtjänst, bland annat med:

  • deploy metoden för för modeller som Model redan är registrerade på arbetsytan.

  • deploy_from_image metod för för bilder Webservice som redan har skapats från en modell.

  • deploy_from_modelWebservice metoden för för modeller som redan har registrerats på arbetsytan. Den här metoden skapar en avbildning.

  • deploy -metoden för Webservice, som registrerar en modell och skapar en avbildning.

Information om hur du arbetar med webbtjänster finns i

I avsnittet Variabler visas attribut för en lokal representation av molnwebbtjänstobjektet. Dessa variabler bör betraktas som skrivskyddade. Att ändra deras värden återspeglas inte i motsvarande molnobjekt.

Variabler

Name Description
auth_enabled

Om webbtjänsten har autentisering aktiverat eller inte.

compute_type
str

Vilken typ av beräkning som webbtjänsten distribueras till.

created_time

När webbtjänsten skapades.

azureml.core.Webservice.description

En beskrivning av webbtjänstobjektet.

azureml.core.Webservice.tags

En ordlista med taggar för webtjänstobjektet.

azureml.core.Webservice.name

Namnet på webbtjänsten.

azureml.core.Webservice.properties

Ordlista med nyckelvärdesegenskaper för webbtjänsten. Dessa egenskaper kan inte ändras efter distributionen, men nya nyckel/värde-par kan läggas till.

created_by
str

Den användare som skapade webbtjänsten.

error
str

Om webbtjänsten inte kunde distribueras innehåller detta felmeddelandet om varför den misslyckades.

azureml.core.Webservice.state

Webbtjänstens aktuella tillstånd.

updated_time

Senaste gången webbtjänsten uppdaterades.

azureml.core.Webservice.workspace

Azure Machine Learning-arbetsytan som innehåller den här webbtjänsten.

token_auth_enabled

Om webbtjänsten har tokenautentisering aktiverat eller inte.

Metoder

check_for_existing_webservice

Kontrollera att webbtjänsten finns.

delete

Ta bort den här webbtjänsten från dess associerade arbetsyta.

Det här funktionsanropet är inte asynkront. Anropet körs tills resursen tas bort. En WebserviceException aktiveras om det uppstår ett problem med att ta bort modellen från modellhanteringstjänsten.

deploy

Distribuera en webbtjänst från noll eller flera Model objekt.

Den här funktionen registrerar alla modellfiler som tillhandahålls och skapar en avbildning i processen, som alla är associerade med den angivna Workspace. Använd den här funktionen när du har en katalog med modeller att distribuera som inte har registrerats tidigare.

Den resulterande webbtjänsten är en realtidsslutpunkt som kan användas för slutsatsdragningsbegäranden. Mer information finns i Använda en modell som distribuerats som en webbtjänst.

deploy_from_image

Distribuera en webbtjänst från ett Image -objekt.

Använd den här funktionen om du redan har skapat ett Image-objekt för en modell.

Den resulterande webbtjänsten är en realtidsslutpunkt som kan användas för slutsatsdragningsbegäranden. Mer information finns i Använda en modell som distribuerats som en webbtjänst.

deploy_from_model

Distribuera en webbtjänst från noll eller flera Model objekt.

Den här funktionen liknar deploy, men registrerar inte modellerna. Använd den här funktionen om du har modellobjekt som redan är registrerade. Då skapas en avbildning i processen som är associerad med den angivna arbetsytan.

Den resulterande webbtjänsten är en realtidsslutpunkt som kan användas för slutsatsdragningsbegäranden. Mer information finns i Använda en modell som distribuerats som en webbtjänst.

deploy_local_from_model

Skapa och distribuera en LocalWebservice för testning.

Kräver att Docker installeras och konfigureras.

deserialize

Konvertera ett JSON-objekt för modellhanteringstjänstens svar till ett webbtjänstobjekt.

Misslyckas om den angivna arbetsytan inte är den arbetsyta som webbtjänsten är registrerad under.

get_keys

Hämta autentiseringsnycklar för den här webbtjänsten.

get_logs

Hämta loggar för den här webbtjänsten.

get_token

Hämta autentiseringstoken för den här webbtjänsten, begränsad till den aktuella användaren.

list

Visa en lista över de webbtjänster som är associerade med motsvarande Workspace.

Resultaten som returneras kan filtreras med hjälp av parametrar.

regen_key

Återskapa en av webbtjänstens nycklar, antingen primärnyckeln eller sekundärnyckeln.

En WebserviceException aktiveras om key inte har angetts eller inte är "primär" eller "sekundär".

run

Anropa den här webbtjänsten med angivna indata.

Abstrakt metod som implementeras av underordnade klasser i Webservice.

serialize

Konvertera det här webbtjänstobjektet till en serialiserad JSON-ordlista.

Använd deserialize för att konvertera tillbaka till ett webbtjänstobjekt.

update

Uppdatera webbtjänstparametrarna.

Det här är en abstrakt metod som implementeras av underordnade klasser i Webservice. Möjliga parametrar att uppdatera varierar beroende på underordnad webbtjänsttyp. För Azure Container Instances-webbtjänster kan du till exempel se update för specifika parametrar.

update_deployment_state

Uppdatera det aktuella tillståndet för det minnesinterna objektet.

Utför en uppdatering på plats av objektets egenskaper baserat på det aktuella tillståndet för motsvarande molnobjekt. Främst användbart för manuell avsökning av skapandetillstånd.

wait_for_deployment

Avsök automatiskt den webbtjänstdistribution som körs.

Vänta tills webbtjänsten når ett terminaltillstånd. Genererar en WebserviceException om den når ett icke-lyckat terminaltillstånd eller överskrider den angivna tidsgränsen.

check_for_existing_webservice

Kontrollera att webbtjänsten finns.

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

Parametrar

Name Description
workspace
Obligatorisk
name
Obligatorisk
str
overwrite
standardvärde: False
request_func
<xref:function>

funktion för att begära tjänsten för att kontrollera om tjänstnamnet finns

standardvärde: None
check_func
<xref:function>

funktion för att kontrollera svarsinnehållet i request_func

standardvärde: None

Undantag

Typ Description

delete

Ta bort den här webbtjänsten från dess associerade arbetsyta.

Det här funktionsanropet är inte asynkront. Anropet körs tills resursen tas bort. En WebserviceException aktiveras om det uppstår ett problem med att ta bort modellen från modellhanteringstjänsten.

delete()

Undantag

Typ Description

deploy

Distribuera en webbtjänst från noll eller flera Model objekt.

Den här funktionen registrerar alla modellfiler som tillhandahålls och skapar en avbildning i processen, som alla är associerade med den angivna Workspace. Använd den här funktionen när du har en katalog med modeller att distribuera som inte har registrerats tidigare.

Den resulterande webbtjänsten är en realtidsslutpunkt som kan användas för slutsatsdragningsbegäranden. Mer information finns i Använda en modell som distribuerats som en webbtjänst.

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

Parametrar

Name Description
workspace
Obligatorisk

Ett arbetsyteobjekt som webbtjänsten ska associeras med.

name
Obligatorisk
str

Namnet på den distribuerade tjänsten. Måste vara unikt för arbetsytan, endast bestå av gemener, siffror eller bindestreck, börja med en bokstav och vara mellan 3 och 32 tecken långt.

model_paths
Obligatorisk

En lista över sökvägar på disk för att modellera filer eller mappar. Kan vara en tom lista.

image_config
Obligatorisk

Ett ImageConfig-objekt som används för att fastställa de bildegenskaper som krävs.

deployment_config

En WebserviceDeploymentConfiguration som används för att konfigurera webbtjänsten. Om inget anges används ett tomt konfigurationsobjekt baserat på önskat mål.

standardvärde: None
deployment_target

A ComputeTarget som webbtjänsten ska distribueras till. Eftersom Azure Container Instances inte har någon associerad ComputeTargetlämnar du den här parametern som Ingen att distribuera till Azure Container Instances.

standardvärde: None
overwrite

Skriv över den befintliga tjänsten om tjänsten med namnet redan finns.

standardvärde: False

Returer

Typ Description

Ett webbtjänstobjekt som motsvarar den distribuerade webbtjänsten.

Undantag

Typ Description

deploy_from_image

Distribuera en webbtjänst från ett Image -objekt.

Använd den här funktionen om du redan har skapat ett Image-objekt för en modell.

Den resulterande webbtjänsten är en realtidsslutpunkt som kan användas för slutsatsdragningsbegäranden. Mer information finns i Använda en modell som distribuerats som en webbtjänst.

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

Parametrar

Name Description
workspace
Obligatorisk

Ett arbetsyteobjekt som webbtjänsten ska associeras med.

name
Obligatorisk
str

Namnet på den distribuerade tjänsten. Måste vara unikt för arbetsytan, endast bestå av gemener, siffror eller bindestreck, börja med en bokstav och vara mellan 3 och 32 tecken långt.

image
Obligatorisk

Ett Image objekt som ska distribueras.

deployment_config

En WebserviceDeploymentConfiguration som används för att konfigurera webbtjänsten. Om inget anges används ett tomt konfigurationsobjekt baserat på önskat mål.

standardvärde: None
deployment_target

A ComputeTarget som webbtjänsten ska distribueras till. Eftersom Azure Container Instances inte har någon associerad ComputeTargetlämnar du den här parametern som Ingen att distribuera till Azure Container Instances.

standardvärde: None
overwrite

Skriv över den befintliga tjänsten om tjänsten med namnet redan finns.

standardvärde: False

Returer

Typ Description

Ett webbtjänstobjekt som motsvarar den distribuerade webbtjänsten.

Undantag

Typ Description

deploy_from_model

Distribuera en webbtjänst från noll eller flera Model objekt.

Den här funktionen liknar deploy, men registrerar inte modellerna. Använd den här funktionen om du har modellobjekt som redan är registrerade. Då skapas en avbildning i processen som är associerad med den angivna arbetsytan.

Den resulterande webbtjänsten är en realtidsslutpunkt som kan användas för slutsatsdragningsbegäranden. Mer information finns i Använda en modell som distribuerats som en webbtjänst.

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

Parametrar

Name Description
workspace
Obligatorisk

Ett arbetsyteobjekt som webbtjänsten ska associeras med.

name
Obligatorisk
str

Namnet på den distribuerade tjänsten. Måste vara unikt för arbetsytan, endast bestå av gemener, siffror eller bindestreck, börja med en bokstav och vara mellan 3 och 32 tecken långt.

models
Obligatorisk

En lista över modellobjekt. Kan vara en tom lista.

image_config
Obligatorisk

Ett ImageConfig-objekt som används för att fastställa de bildegenskaper som krävs.

deployment_config

En WebserviceDeploymentConfiguration som används för att konfigurera webbtjänsten. Om inget anges används ett tomt konfigurationsobjekt baserat på önskat mål.

standardvärde: None
deployment_target

A ComputeTarget som webbtjänsten ska distribueras till. Eftersom ACI inte har någon associerad ComputeTargetlämnar du den här parametern som Ingen att distribuera till ACI.

standardvärde: None
overwrite

Skriv över den befintliga tjänsten om tjänsten med namnet redan finns.

standardvärde: False

Returer

Typ Description

Ett webbtjänstobjekt som motsvarar den distribuerade webbtjänsten.

Undantag

Typ Description

deploy_local_from_model

Skapa och distribuera en LocalWebservice för testning.

Kräver att Docker installeras och konfigureras.

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

Parametrar

Name Description
workspace
Obligatorisk

Ett arbetsyteobjekt som webbtjänsten ska associeras med.

name
Obligatorisk
str

Namnet på den distribuerade tjänsten. Måste vara unikt på den lokala datorn.

models
Obligatorisk

En lista över modellobjekt. Kan vara en tom lista.

image_config
Obligatorisk

Ett ImageConfig-objekt som används för att fastställa nödvändiga egenskaper för tjänstavbildning.

deployment_config

En LocalWebserviceDeploymentConfiguration som används för att konfigurera webbtjänsten. Om inget anges används ett tomt konfigurationsobjekt.

standardvärde: None
wait

Om du vill vänta på att LocalWebservices Docker-container ska rapporteras som felfri. Genererar ett undantag om containern kraschar. Standardvärdet är False.

standardvärde: False

Returer

Typ Description

Undantag

Typ Description

deserialize

Konvertera ett JSON-objekt för modellhanteringstjänstens svar till ett webbtjänstobjekt.

Misslyckas om den angivna arbetsytan inte är den arbetsyta som webbtjänsten är registrerad under.

deserialize(workspace, webservice_payload)

Parametrar

Name Description
cls
Obligatorisk

Anger att detta är en klassmetod.

workspace
Obligatorisk

Arbetsyteobjektet som webbtjänsten är registrerad under.

webservice_payload
Obligatorisk

Ett JSON-objekt som ska konverteras till ett webbtjänstobjekt.

Returer

Typ Description

Webbtjänstrepresentationen av det angivna JSON-objektet.

Undantag

Typ Description

get_keys

Hämta autentiseringsnycklar för den här webbtjänsten.

get_keys()

Returer

Typ Description
(str, str)

Autentiseringsnycklarna för den här webbtjänsten.

Undantag

Typ Description

get_logs

Hämta loggar för den här webbtjänsten.

get_logs(num_lines=5000, init=False)

Parametrar

Name Description
num_lines
int

Det maximala antalet loggrader som ska hämtas.

standardvärde: 5000
init

Hämta loggar för init-containern

standardvärde: False

Returer

Typ Description
str

Loggarna för den här webbtjänsten.

Undantag

Typ Description

get_token

Hämta autentiseringstoken för den här webbtjänsten, begränsad till den aktuella användaren.

get_token()

Returer

Typ Description

Autentiseringstoken för den här webbtjänsten och när den ska uppdateras efter.

Undantag

Typ Description

list

Visa en lista över de webbtjänster som är associerade med motsvarande Workspace.

Resultaten som returneras kan filtreras med hjälp av parametrar.

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)

Parametrar

Name Description
workspace
Obligatorisk

Arbetsyteobjektet som webbtjänsterna ska listas i.

compute_type
str

Filtrera om du bara vill visa en lista över specifika webbtjänsttyper. Alternativen är "ACI", "AKS".

standardvärde: None
image_name
str

Filterlista för att endast inkludera webbtjänster som distribuerats med det specifika avbildningsnamnet.

standardvärde: None
image_id
str

Filterlista för att endast inkludera webbtjänster som distribuerats med det specifika avbildnings-ID:t.

standardvärde: None
model_name
str

Filtrera listan så att den endast innehåller webbtjänster som distribuerats med det specifika modellnamnet.

standardvärde: None
model_id
str

Filterlista för att endast inkludera webbtjänster som distribuerats med det specifika modell-ID:t.

standardvärde: None
tags

Filtrera baserat på den angivna listan, antingen efter "nyckel" eller "[nyckel, värde]". t.ex. ['key', ['key2', 'key2 value']]

standardvärde: None
properties

Filtrera baserat på den angivna listan, antingen efter "nyckel" eller "[nyckel, värde]". t.ex. ['key', ['key2', 'key2 value']]

standardvärde: None
image_digest
str

Filterlista för att endast inkludera webbtjänster som distribuerats med den specifika avbildningssammanfattningen.

standardvärde: None

Returer

Typ Description

En filtrerad lista över webbtjänster på den angivna arbetsytan.

Undantag

Typ Description

regen_key

Återskapa en av webbtjänstens nycklar, antingen primärnyckeln eller sekundärnyckeln.

En WebserviceException aktiveras om key inte har angetts eller inte är "primär" eller "sekundär".

regen_key(key, set_key=None)

Parametrar

Name Description
key
Obligatorisk
str

Nyckeln som ska återskapas. Alternativen är "Primär" eller "Sekundär".

set_key
str

Ett användardefingivet värde som tillåter manuell specifikation av nyckelns värde

standardvärde: None

Undantag

Typ Description

run

Anropa den här webbtjänsten med angivna indata.

Abstrakt metod som implementeras av underordnade klasser i Webservice.

abstract run(input)

Parametrar

Name Description
input
Obligatorisk
<xref:varies>

De indata som webbtjänsten ska anropas med. Det här är de data som din maskininlärningsmodell förväntar sig som indata för att köra förutsägelser.

Returer

Typ Description

Resultatet av att anropa webbtjänsten. Då returneras förutsägelser som körs från din maskininlärningsmodell.

Undantag

Typ Description

serialize

Konvertera det här webbtjänstobjektet till en serialiserad JSON-ordlista.

Använd deserialize för att konvertera tillbaka till ett webbtjänstobjekt.

serialize()

Returer

Typ Description

JSON-representationen av den här webbtjänsten.

Undantag

Typ Description

update

Uppdatera webbtjänstparametrarna.

Det här är en abstrakt metod som implementeras av underordnade klasser i Webservice. Möjliga parametrar att uppdatera varierar beroende på underordnad webbtjänsttyp. För Azure Container Instances-webbtjänster kan du till exempel se update för specifika parametrar.

abstract update(*args)

Parametrar

Name Description
args
Obligatorisk
<xref:varies>

Värden som ska uppdateras.

Undantag

Typ Description

update_deployment_state

Uppdatera det aktuella tillståndet för det minnesinterna objektet.

Utför en uppdatering på plats av objektets egenskaper baserat på det aktuella tillståndet för motsvarande molnobjekt. Främst användbart för manuell avsökning av skapandetillstånd.

update_deployment_state()

Undantag

Typ Description

wait_for_deployment

Avsök automatiskt den webbtjänstdistribution som körs.

Vänta tills webbtjänsten når ett terminaltillstånd. Genererar en WebserviceException om den når ett icke-lyckat terminaltillstånd eller överskrider den angivna tidsgränsen.

wait_for_deployment(show_output=False, timeout_sec=None)

Parametrar

Name Description
show_output

Anger om du vill skriva ut mer utförliga utdata.

standardvärde: False
timeout_sec

Generera ett undantag om distributionen överskrider den angivna tidsgränsen.

standardvärde: None

Undantag

Typ Description