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
|
Namnet på webbtjänstobjektet som ska hämtas. |
workspace
Obligatorisk
|
Arbetsyteobjektet som innehåller webbtjänstobjektet som ska hämtas. |
name
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_model
Webservice 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
Konsumera en Azure Machine Learning-modell som distribuerats som en webbtjänst
Se Övervaka och samla in data från webbtjänstslutpunkter i ML
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
|
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
|
Den användare som skapade webbtjänsten. |
error
|
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 har tagits 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 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 bildobjekt 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 |
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
|
|
overwrite
|
Standardvärde: False
|
request_func
|
<xref:function>
funktion för att begära tjänst 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 har tagits 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 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
|
Namnet som ska ge 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ånga. |
model_paths
Obligatorisk
|
En lista över sökvägar på diskar 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 nödvändiga bildegenskaper. |
deployment_config
|
En WebserviceDeploymentConfiguration som används för att konfigurera webbtjänsten. Om ett inte 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 bildobjekt 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
|
Namnet som ska ge 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ånga. |
image
Obligatorisk
|
Ett Image objekt som ska distribueras. |
deployment_config
|
En WebserviceDeploymentConfiguration som används för att konfigurera webbtjänsten. Om ett inte 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
|
Namnet som ska ge 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ånga. |
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 bildegenskaper. |
deployment_config
|
En WebserviceDeploymentConfiguration som används för att konfigurera webbtjänsten. Om ett inte 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 för 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
|
Namnet som ska ge 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änstavbildningar. |
deployment_config
|
En LocalWebserviceDeploymentConfiguration som används för att konfigurera webbtjänsten. Om ett inte anges används ett tomt konfigurationsobjekt. Standardvärde: None
|
wait
|
Om du vill vänta tills Docker-containern för LocalWebservice rapporteras som felfri. Utlöser ett undantag om containern kraschar. Standardvärdet är Falskt. 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 |
---|---|
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
|
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 |
---|---|
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
|
Filtrera om du bara vill visa en lista över specifika webbtjänsttyper. Alternativen är "ACI", "AKS". Standardvärde: None
|
image_name
|
Filterlista för att endast inkludera webbtjänster som distribuerats med det specifika avbildningsnamnet. Standardvärde: None
|
image_id
|
Filterlista för att endast inkludera webbtjänster som distribuerats med det specifika avbildnings-ID:t. Standardvärde: None
|
model_name
|
Filtrera listan så att den endast innehåller webbtjänster som distribuerats med det specifika modellnamnet. Standardvärde: None
|
model_id
|
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
|
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
|
Nyckeln som ska återskapas. Alternativen är "Primär" eller "Sekundär". |
set_key
|
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 |
---|---|