Webservice Klass
Definierar basfunktioner 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 eller Image -Modelobjekt.
Mer information om hur du arbetar med Webservice finns i Distribuera modeller med Azure Machine Learning.
Initiera Webservice-instansen.
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
Följande exempel visar det rekommenderade distributionsmönstret där du först skapar ett konfigurationsobjekt med deploy_configuration
metoden för den underordnade klassen Webservice (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
Följande exempel visar hur du hittar en befintlig AciWebservice i 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 de modeller som Model redan är registrerade på arbetsytan.deploy_from_image
Webservice-metod för avbildningar som redan har skapats från en modell.deploy_from_model
Webservice metoden för för modeller som redan är registrerade 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 webtjä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 egenskaper för nyckelvärde för webbtjänsten. Dessa egenskaper kan inte ändras efter distributionen, men nya nyckelvärdepar kan läggas till. |
created_by
|
Användaren 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 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 arbetsytan 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. De returnerade resultaten 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 de 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 läsa update mer om 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å aktuellt tillstånd 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. Utlöser 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ä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
|
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
|
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
|
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
|
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 arbetsytan 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 Webservice-objekt. |
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-container 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.
De returnerade resultaten 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
|
Filterlista för att endast inkludera 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 avbildningssammandraget. Standardvärde: None
|
Returer
Typ | Description |
---|---|
En filtrerad lista över webbtjänster i 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
den 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 möjliggör manuell specifikation av nyckelns värde Standardvärde: None
|
Undantag
Typ | Description |
---|---|
run
Anropa den här webbtjänsten med de angivna indata.
Abstrakt metod som implementeras av underordnade klasser i Webservice.
abstract run(input)
Parametrar
Name | Description |
---|---|
input
Obligatorisk
|
<xref:varies>
Indata att anropa webbtjänsten 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. Detta returnerar 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 läsa update mer om 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å aktuellt tillstånd 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. Utlöser 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
|
Skapa ett undantag om distributionen överskrider den angivna tidsgränsen. Standardvärde: None
|
Undantag
Typ | Description |
---|---|