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

workspace
Workspace
Obligatorisk

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

name
str
Obligatorisk

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

workspace
Workspace
Obligatorisk

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

name
str
Obligatorisk

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

auth_enabled
bool

Om webbtjänsten har autentisering aktiverat eller inte.

compute_type
str

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

created_time
datetime

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
datetime

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
bool

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

workspace
Workspace
Obligatorisk
name
str
Obligatorisk
overwrite
bool
standardvärde: False
request_func
<xref:function>
standardvärde: None

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

check_func
<xref:function>
standardvärde: None

funktion för att kontrollera svarsinnehållet i request_func

Undantag

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

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

workspace
Workspace
Obligatorisk

Ett arbetsyteobjekt som webbtjänsten ska associeras med.

name
str
Obligatorisk

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
list[str]
Obligatorisk

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

image_config
ImageConfig
Obligatorisk

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

deployment_config
WebserviceDeploymentConfiguration
standardvärde: None

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

deployment_target
ComputeTarget
standardvärde: None

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.

overwrite
bool
standardvärde: False

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

Returer

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

Returtyp

Undantag

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

workspace
Workspace
Obligatorisk

Ett arbetsyteobjekt som webbtjänsten ska associeras med.

name
str
Obligatorisk

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
Image
Obligatorisk

Ett Image objekt som ska distribueras.

deployment_config
WebserviceDeploymentConfiguration
standardvärde: None

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

deployment_target
ComputeTarget
standardvärde: None

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.

overwrite
bool
standardvärde: False

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

Returer

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

Returtyp

Undantag

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

workspace
Workspace
Obligatorisk

Ett arbetsyteobjekt som webbtjänsten ska associeras med.

name
str
Obligatorisk

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
list[Model]
Obligatorisk

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

image_config
ImageConfig
Obligatorisk

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

deployment_config
WebserviceDeploymentConfiguration
standardvärde: None

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

deployment_target
ComputeTarget
standardvärde: None

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.

overwrite
bool
standardvärde: False

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

Returer

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

Returtyp

Undantag

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

workspace
Workspace
Obligatorisk

Ett arbetsyteobjekt som webbtjänsten ska associeras med.

name
str
Obligatorisk

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

models
list[Model]
Obligatorisk

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

image_config
ImageConfig
Obligatorisk

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

deployment_config
LocalWebserviceDeploymentConfiguration
standardvärde: None

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

wait
bool
standardvärde: False

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

Returtyp

Undantag

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

cls
Obligatorisk

Anger att detta är en klassmetod.

workspace
Workspace
Obligatorisk

Arbetsyteobjektet som webbtjänsten är registrerad under.

webservice_payload
dict
Obligatorisk

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

Returer

Webbtjänstrepresentationen av det angivna JSON-objektet.

Returtyp

Undantag

get_keys

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

get_keys()

Returer

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

Returtyp

(str, str)

Undantag

get_logs

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

get_logs(num_lines=5000, init=False)

Parametrar

num_lines
int
standardvärde: 5000

Det maximala antalet loggrader som ska hämtas.

init
bool
standardvärde: False

Hämta loggar för init-containern

Returer

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

Returtyp

str

Undantag

get_token

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

get_token()

Returer

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

Returtyp

Undantag

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

workspace
Workspace
Obligatorisk

Arbetsyteobjektet som webbtjänsterna ska listas i.

compute_type
str
standardvärde: None

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

image_name
str
standardvärde: None

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

image_id
str
standardvärde: None

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

model_name
str
standardvärde: None

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

model_id
str
standardvärde: None

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

tags
list
standardvärde: None

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

properties
list
standardvärde: None

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

image_digest
str
standardvärde: None

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

Returer

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

Returtyp

Undantag

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

key
str
Obligatorisk

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

set_key
str
standardvärde: None

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

Undantag

run

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

Abstrakt metod som implementeras av underordnade klasser i Webservice.

abstract run(input)

Parametrar

input
<xref:varies>
Obligatorisk

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

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

Returtyp

Undantag

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

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

Returtyp

Undantag

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

args
<xref:varies>
Obligatorisk

Värden som ska uppdateras.

Undantag

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

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

show_output
bool
standardvärde: False

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

timeout_sec
float
standardvärde: None

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

Undantag