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
Arbetsyteobjektet som innehåller webbtjänstobjektet som ska hämtas.
- workspace
- Workspace
Arbetsyteobjektet som innehåller 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
- 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 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
- workspace
- Workspace
- name
- str
- overwrite
- bool
- request_func
- <xref:function>
funktion för att begära tjänst för att kontrollera om tjänstnamnet finns
- check_func
- <xref:function>
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 har tagits 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 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
- str
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.
En lista över sökvägar på diskar för att modellera filer eller mappar. Kan vara en tom lista.
- image_config
- ImageConfig
Ett ImageConfig-objekt som används för att fastställa nödvändiga bildegenskaper.
- deployment_config
- WebserviceDeploymentConfiguration
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.
- deployment_target
- ComputeTarget
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
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 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
- str
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.
- deployment_config
- WebserviceDeploymentConfiguration
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.
- deployment_target
- ComputeTarget
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
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
- name
- str
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_config
- ImageConfig
Ett ImageConfig-objekt som används för att fastställa nödvändiga bildegenskaper.
- deployment_config
- WebserviceDeploymentConfiguration
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.
- deployment_target
- ComputeTarget
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.
- overwrite
- bool
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
- name
- str
Namnet som ska ge den distribuerade tjänsten. Måste vara unikt på den lokala datorn.
- image_config
- ImageConfig
Ett ImageConfig-objekt som används för att fastställa nödvändiga egenskaper för tjänstavbildningar.
- deployment_config
- LocalWebserviceDeploymentConfiguration
En LocalWebserviceDeploymentConfiguration som används för att konfigurera webbtjänsten. Om ett inte anges används ett tomt konfigurationsobjekt.
- wait
- bool
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.
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
Anger att detta är en klassmetod.
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
Undantag
get_logs
Hämta loggar för den här webbtjänsten.
get_logs(num_lines=5000, init=False)
Parametrar
Returer
Loggarna för den här webbtjänsten.
Returtyp
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
- compute_type
- str
Filtrera om du bara vill visa en lista över specifika webbtjänsttyper. Alternativen är "ACI", "AKS".
- image_name
- str
Filterlista för att endast inkludera webbtjänster som distribuerats med det specifika avbildningsnamnet.
- image_id
- str
Filterlista för att endast inkludera webbtjänster som distribuerats med det specifika avbildnings-ID:t.
- model_name
- str
Filtrera listan så att den endast innehåller webbtjänster som distribuerats med det specifika modellnamnet.
- model_id
- str
Filterlista för att endast inkludera webbtjänster som distribuerats med det specifika modell-ID:t.
- tags
- list
Filtrera baserat på den angivna listan, antingen efter "nyckel" eller "[nyckel, värde]". t.ex. ['key', ['key2', 'key2 value']]
- properties
- list
Filtrera baserat på den angivna listan, antingen efter "nyckel" eller "[nyckel, värde]". t.ex. ['key', ['key2', 'key2 value']]
- image_digest
- str
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
- set_key
- str
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>
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>
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
- timeout_sec
- float
Generera ett undantag om distributionen överskrider den angivna tidsgränsen.
Undantag
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för