Delen via


Webservice Klas

Definieert de basisfunctionaliteit voor het implementeren van modellen als webservice-eindpunten in Azure Machine Learning.

Webserviceconstructor wordt gebruikt om een cloudweergave op te halen van een webserviceobject dat is gekoppeld aan de opgegeven werkruimte. Retourneert een exemplaar van een onderliggende klasse die overeenkomt met het specifieke type van het opgehaalde webserviceobject. Met de klasse Webservice kunt u machine learning-modellen implementeren vanuit een - of Image -Modelobject.

Zie Modellen implementeren met Azure Machine Learning voor meer informatie over het werken met webservice.

Initialiseer het webservice-exemplaar.

De webserviceconstructor haalt een cloudweergave op van een webserviceobject dat is gekoppeld aan de opgegeven werkruimte. Er wordt een exemplaar van een onderliggende klasse geretourneerd die overeenkomt met het specifieke type van het opgehaalde webserviceobject.

Overname
Webservice

Constructor

Webservice(workspace, name)

Parameters

Name Description
workspace
Vereist

Het werkruimteobject met het webserviceobject dat moet worden opgehaald.

name
Vereist
str

De naam van het webserviceobject dat moet worden opgehaald.

workspace
Vereist

Het werkruimteobject met het webserviceobject dat moet worden opgehaald.

name
Vereist
str

De naam van het webserviceobject dat moet worden opgehaald.

Opmerkingen

In het volgende voorbeeld ziet u het aanbevolen implementatiepatroon waarbij u eerst een configuratieobject maakt met de deploy_configuration methode van de onderliggende klasse van webservice (in dit geval AksWebservice) en vervolgens de configuratie gebruikt met de deploy methode van de Model klasse.


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

Het volledige voorbeeld is beschikbaar via https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb

In het volgende voorbeeld ziet u hoe u een bestaande AciWebservice in een werkruimte kunt vinden en verwijderen als deze bestaat, zodat de naam opnieuw kan worden gebruikt.


   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)

Er zijn een aantal manieren om een model als webservice te implementeren, waaronder met de:

  • deploy methode van de Model for-modellen die al zijn geregistreerd in de werkruimte.

  • deploy_from_image methode van Webservice voor afbeeldingen die al zijn gemaakt op basis van een model.

  • deploy_from_model methode van Webservice voor modellen die al zijn geregistreerd in de werkruimte. Met deze methode wordt een installatiekopieën gemaakt.

  • deploy van de Webservice, waarmee een model wordt geregistreerd en een afbeelding wordt gemaakt.

Zie voor meer informatie over het werken met webservices

De sectie Variabelen bevat kenmerken van een lokale weergave van het cloudwebserviceobject. Deze variabelen moeten worden beschouwd als alleen-lezen. Het wijzigen van de waarden wordt niet doorgevoerd in het bijbehorende cloudobject.

Variabelen

Name Description
auth_enabled

Of verificatie is ingeschakeld voor de webservice.

compute_type
str

Op welk type berekening de webservice wordt geïmplementeerd.

created_time

Toen de webservice werd gemaakt.

azureml.core.Webservice.description

Een beschrijving van het webserviceobject.

azureml.core.Webservice.tags

Een woordenlijst met tags voor het webserviceobject.

azureml.core.Webservice.name

De naam van de webservice.

azureml.core.Webservice.properties

Woordenlijst met sleutelwaarde-eigenschappen voor de webservice. Deze eigenschappen kunnen niet worden gewijzigd na de implementatie, maar er kunnen wel nieuwe sleutelwaardeparen worden toegevoegd.

created_by
str

De gebruiker die de webservice heeft gemaakt.

error
str

Als de webservice niet kan worden geïmplementeerd, bevat deze het foutbericht waarom deze is mislukt.

azureml.core.Webservice.state

De huidige status van de webservice.

updated_time

De laatste keer dat de webservice is bijgewerkt.

azureml.core.Webservice.workspace

De Azure Machine Learning-werkruimte die deze webservice bevat.

token_auth_enabled

Of tokenverificatie is ingeschakeld voor de webservice.

Methoden

check_for_existing_webservice

Controleer of de webservice bestaat.

delete

Verwijder deze webservice uit de bijbehorende werkruimte.

Deze functie-aanroep is niet asynchroon. De aanroep wordt uitgevoerd totdat de resource is verwijderd. A WebserviceException wordt weergegeven als er een probleem is met het verwijderen van het model uit de Modelbeheerservice.

deploy

Een webservice implementeren vanuit nul of meer Model objecten.

Met deze functie worden alle opgegeven modelbestanden geregistreerd en wordt er een installatiekopieën gemaakt in het proces, die allemaal zijn gekoppeld aan de opgegeven Workspace. Gebruik deze functie wanneer u een map hebt met modellen die nog niet eerder zijn geregistreerd.

De resulterende webservice is een realtime-eindpunt dat kan worden gebruikt voor deductieaanvragen. Zie Een model gebruiken dat is geïmplementeerd als een webservice voor meer informatie.

deploy_from_image

Implementeer een webservice vanuit een Image object.

Gebruik deze functie als u al een afbeeldingsobject hebt gemaakt voor een model.

De resulterende webservice is een realtime-eindpunt dat kan worden gebruikt voor deductieaanvragen. Zie Een model gebruiken dat is geïmplementeerd als een webservice voor meer informatie.

deploy_from_model

Een webservice implementeren vanuit nul of meer Model objecten.

Deze functie is vergelijkbaar met deploy, maar registreert de modellen niet. Gebruik deze functie als u modelobjecten hebt die al zijn geregistreerd. Hiermee maakt u een installatiekopieën in het proces die zijn gekoppeld aan de opgegeven werkruimte.

De resulterende webservice is een realtime-eindpunt dat kan worden gebruikt voor deductieaanvragen. Zie Een model gebruiken dat is geïmplementeerd als een webservice voor meer informatie.

deploy_local_from_model

Bouw en implementeer een LocalWebservice om te testen.

Vereist dat Docker is geïnstalleerd en geconfigureerd.

deserialize

Converteer een JSON-object van een Model Management Service-antwoord naar een webserviceobject.

Mislukt als de opgegeven werkruimte niet de werkruimte is waaronder de webservice is geregistreerd.

get_keys

Verificatiesleutels ophalen voor deze webservice.

get_logs

Logboeken voor deze webservice ophalen.

get_token

Verificatietoken ophalen voor deze webservice, met het bereik van de huidige gebruiker.

list

Vermeld de webservices die zijn gekoppeld aan de bijbehorende Workspace.

De geretourneerde resultaten kunnen worden gefilterd met behulp van parameters.

regen_key

Genereer een van de sleutels van de webservice opnieuw, ofwel de primaire of secundaire sleutel.

Een WebserviceException wordt verhoogd als key deze niet is opgegeven of niet 'Primair' of 'Secundair' is.

run

Roep deze webservice aan met de opgegeven invoer.

Abstracte methode geïmplementeerd door onderliggende klassen van Webservice.

serialize

Converteer dit webserviceobject naar een geserialiseerde JSON-woordenlijst.

Gebruik deserialize om terug te converteren naar een webserviceobject.

update

Werk de parameters van de webservice bij.

Dit is een abstracte methode die wordt geïmplementeerd door onderliggende klassen van Webservice. Mogelijke parameters voor bijwerken variëren op basis van het onderliggende type webservice. Zie bijvoorbeeld voor Azure Container Instances webservices update voor specifieke parameters.

update_deployment_state

Vernieuw de huidige status van het object in het geheugen.

Voer een in-place update uit van de eigenschappen van het object op basis van de huidige status van het bijbehorende cloudobject. Vooral handig voor het handmatig peilen van de aanmaakstatus.

wait_for_deployment

Automatisch een poll uitvoeren op de actieve webservice-implementatie.

Wacht tot de webservice een terminalstatus heeft bereikt. Genereert een WebserviceException als deze een niet-geslaagde terminalstatus bereikt of de opgegeven time-out overschrijdt.

check_for_existing_webservice

Controleer of de webservice bestaat.

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

Parameters

Name Description
workspace
Vereist
name
Vereist
str
overwrite
Default value: False
request_func
<xref:function>

functie om service aan te vragen om te controleren of de servicenaam bestaat

Default value: None
check_func
<xref:function>

functie om de antwoordinhoud van request_func te controleren

Default value: None

Uitzonderingen

Type Description

delete

Verwijder deze webservice uit de bijbehorende werkruimte.

Deze functie-aanroep is niet asynchroon. De aanroep wordt uitgevoerd totdat de resource is verwijderd. A WebserviceException wordt weergegeven als er een probleem is met het verwijderen van het model uit de Modelbeheerservice.

delete()

Uitzonderingen

Type Description

deploy

Een webservice implementeren vanuit nul of meer Model objecten.

Met deze functie worden alle opgegeven modelbestanden geregistreerd en wordt er een installatiekopieën gemaakt in het proces, die allemaal zijn gekoppeld aan de opgegeven Workspace. Gebruik deze functie wanneer u een map hebt met modellen die nog niet eerder zijn geregistreerd.

De resulterende webservice is een realtime-eindpunt dat kan worden gebruikt voor deductieaanvragen. Zie Een model gebruiken dat is geïmplementeerd als een webservice voor meer informatie.

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

Parameters

Name Description
workspace
Vereist

Een werkruimteobject om de webservice aan te koppelen.

name
Vereist
str

De naam voor de geïmplementeerde service. Moet uniek zijn voor de werkruimte, alleen bestaan uit kleine letters, cijfers of streepjes, beginnen met een letter en tussen 3 en 32 tekens lang zijn.

model_paths
Vereist

Een lijst met paden op schijf naar modelbestanden of mappen. Kan een lege lijst zijn.

image_config
Vereist

Een ImageConfig-object dat wordt gebruikt om de vereiste eigenschappen van de installatiekopie te bepalen.

deployment_config

Een WebserviceDeploymentConfiguration die wordt gebruikt om de webservice te configureren. Als er geen wordt opgegeven, wordt een leeg configuratieobject gebruikt op basis van het gewenste doel.

Default value: None
deployment_target

Een ComputeTarget om de webservice te implementeren. Aangezien Azure Container Instances geen gekoppeld ComputeTargetheeft, laat u deze parameter op Geen staan om te implementeren in Azure Container Instances.

Default value: None
overwrite

Overschrijf de bestaande service als de service met de naam al bestaat.

Default value: False

Retouren

Type Description

Een webserviceobject dat overeenkomt met de geïmplementeerde webservice.

Uitzonderingen

Type Description

deploy_from_image

Implementeer een webservice vanuit een Image object.

Gebruik deze functie als u al een afbeeldingsobject hebt gemaakt voor een model.

De resulterende webservice is een realtime-eindpunt dat kan worden gebruikt voor deductieaanvragen. Zie Een model gebruiken dat is geïmplementeerd als een webservice voor meer informatie.

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

Parameters

Name Description
workspace
Vereist

Een werkruimteobject om de webservice aan te koppelen.

name
Vereist
str

De naam voor de geïmplementeerde service. Moet uniek zijn voor de werkruimte, alleen bestaan uit kleine letters, cijfers of streepjes, beginnen met een letter en tussen 3 en 32 tekens lang zijn.

image
Vereist

Een Image object dat moet worden geïmplementeerd.

deployment_config

Een WebserviceDeploymentConfiguration die wordt gebruikt om de webservice te configureren. Als er geen wordt opgegeven, wordt een leeg configuratieobject gebruikt op basis van het gewenste doel.

Default value: None
deployment_target

Een ComputeTarget om de webservice te implementeren. Aangezien Azure Container Instances geen gekoppeld ComputeTargetheeft, laat u deze parameter op Geen staan om te implementeren in Azure Container Instances.

Default value: None
overwrite

Overschrijf de bestaande service als de service met de naam al bestaat.

Default value: False

Retouren

Type Description

Een webserviceobject dat overeenkomt met de geïmplementeerde webservice.

Uitzonderingen

Type Description

deploy_from_model

Een webservice implementeren vanuit nul of meer Model objecten.

Deze functie is vergelijkbaar met deploy, maar registreert de modellen niet. Gebruik deze functie als u modelobjecten hebt die al zijn geregistreerd. Hiermee maakt u een installatiekopieën in het proces die zijn gekoppeld aan de opgegeven werkruimte.

De resulterende webservice is een realtime-eindpunt dat kan worden gebruikt voor deductieaanvragen. Zie Een model gebruiken dat is geïmplementeerd als een webservice voor meer informatie.

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

Parameters

Name Description
workspace
Vereist

Een werkruimteobject om de webservice aan te koppelen.

name
Vereist
str

De naam voor de geïmplementeerde service. Moet uniek zijn voor de werkruimte, alleen bestaan uit kleine letters, cijfers of streepjes, beginnen met een letter en tussen 3 en 32 tekens lang zijn.

models
Vereist

Een lijst met modelobjecten. Kan een lege lijst zijn.

image_config
Vereist

Een ImageConfig-object dat wordt gebruikt om de vereiste eigenschappen van de installatiekopie te bepalen.

deployment_config

Een WebserviceDeploymentConfiguration die wordt gebruikt om de webservice te configureren. Als er geen wordt opgegeven, wordt een leeg configuratieobject gebruikt op basis van het gewenste doel.

Default value: None
deployment_target

Een ComputeTarget om de webservice te implementeren. Aangezien ACI geen gekoppeld ComputeTargetheeft, laat u deze parameter op Geen staan om te implementeren in ACI.

Default value: None
overwrite

Overschrijf de bestaande service als de service met de naam al bestaat.

Default value: False

Retouren

Type Description

Een webserviceobject dat overeenkomt met de geïmplementeerde webservice.

Uitzonderingen

Type Description

deploy_local_from_model

Bouw en implementeer een LocalWebservice om te testen.

Vereist dat Docker is geïnstalleerd en geconfigureerd.

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

Parameters

Name Description
workspace
Vereist

Een werkruimteobject waaraan de webservice moet worden gekoppeld.

name
Vereist
str

De naam voor de geïmplementeerde service. Moet uniek zijn op de lokale computer.

models
Vereist

Een lijst met modelobjecten. Kan een lege lijst zijn.

image_config
Vereist

Een ImageConfig-object dat wordt gebruikt om de vereiste eigenschappen van de service-installatiekopie te bepalen.

deployment_config

Een LocalWebserviceDeploymentConfiguration die wordt gebruikt om de webservice te configureren. Als er geen wordt opgegeven, wordt een leeg configuratieobject gebruikt.

Default value: None
wait

Of moet worden gewacht tot de Docker-container van LocalWebservice als in orde is. Genereert een uitzondering als de container vastloopt. De standaardwaarde is False.

Default value: False

Retouren

Type Description

Uitzonderingen

Type Description

deserialize

Converteer een JSON-object van een Model Management Service-antwoord naar een webserviceobject.

Mislukt als de opgegeven werkruimte niet de werkruimte is waaronder de webservice is geregistreerd.

deserialize(workspace, webservice_payload)

Parameters

Name Description
cls
Vereist

Geeft aan dat dit een klassemethode is.

workspace
Vereist

Het werkruimteobject waaronder de webservice is geregistreerd.

webservice_payload
Vereist

Een JSON-object dat moet worden geconverteerd naar een webserviceobject.

Retouren

Type Description

De webserviceweergave van het opgegeven JSON-object.

Uitzonderingen

Type Description

get_keys

Verificatiesleutels ophalen voor deze webservice.

get_keys()

Retouren

Type Description
(str, str)

De verificatiesleutels voor deze webservice.

Uitzonderingen

Type Description

get_logs

Logboeken voor deze webservice ophalen.

get_logs(num_lines=5000, init=False)

Parameters

Name Description
num_lines
int

Het maximum aantal logboekregels dat moet worden opgehaald.

Default value: 5000
init

Logboeken van init-container ophalen

Default value: False

Retouren

Type Description
str

De logboeken voor deze webservice.

Uitzonderingen

Type Description

get_token

Verificatietoken ophalen voor deze webservice, met het bereik van de huidige gebruiker.

get_token()

Retouren

Type Description

Het verificatietoken voor deze webservice en wanneer het daarna moet worden vernieuwd.

Uitzonderingen

Type Description

list

Vermeld de webservices die zijn gekoppeld aan de bijbehorende Workspace.

De geretourneerde resultaten kunnen worden gefilterd met behulp van parameters.

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)

Parameters

Name Description
workspace
Vereist

Het werkruimteobject om de webservices in weer te geven.

compute_type
str

Filter om alleen specifieke webservicetypen weer te geven. Opties zijn 'ACI', 'AKS'.

Default value: None
image_name
str

Filter de lijst om alleen webservices op te nemen die zijn geïmplementeerd met de specifieke naam van de installatiekopie.

Default value: None
image_id
str

Filter de lijst om alleen webservices op te nemen die zijn geïmplementeerd met de specifieke installatiekopie-id.

Default value: None
model_name
str

Filter de lijst om alleen webservices op te nemen die zijn geïmplementeerd met de specifieke modelnaam.

Default value: None
model_id
str

Filter de lijst om alleen webservices op te nemen die zijn geïmplementeerd met de specifieke model-id.

Default value: None
tags

Filter op basis van de opgegeven lijst op 'sleutel' of '[sleutel, waarde]'. Bijvoorbeeld ['key', ['key2', 'key2 value']]

Default value: None
properties

Filter op basis van de opgegeven lijst op 'sleutel' of '[sleutel, waarde]'. Bijvoorbeeld ['key', ['key2', 'key2 value']]

Default value: None
image_digest
str

Filter de lijst om alleen webservices op te nemen die zijn geïmplementeerd met de specifieke samenvatting van de installatiekopie.

Default value: None

Retouren

Type Description

Een gefilterde lijst met webservices in de opgegeven werkruimte.

Uitzonderingen

Type Description

regen_key

Genereer een van de sleutels van de webservice opnieuw, ofwel de primaire of secundaire sleutel.

Een WebserviceException wordt verhoogd als key deze niet is opgegeven of niet 'Primair' of 'Secundair' is.

regen_key(key, set_key=None)

Parameters

Name Description
key
Vereist
str

De sleutel om opnieuw te genereren. Opties zijn 'Primair' of 'Secundair'.

set_key
str

Een door de gebruiker opgegeven waarde die handmatige specificatie van de waarde van de sleutel toestaat

Default value: None

Uitzonderingen

Type Description

run

Roep deze webservice aan met de opgegeven invoer.

Abstracte methode geïmplementeerd door onderliggende klassen van Webservice.

abstract run(input)

Parameters

Name Description
input
Vereist
<xref:varies>

De invoergegevens waarmee de webservice moet worden aangeroepen. Dit zijn de gegevens die uw machine learning-model verwacht als invoer voor het uitvoeren van voorspellingen.

Retouren

Type Description

Het resultaat van het aanroepen van de webservice. Hiermee worden voorspellingen geretourneerd die worden uitgevoerd vanuit uw machine learning-model.

Uitzonderingen

Type Description

serialize

Converteer dit webserviceobject naar een geserialiseerde JSON-woordenlijst.

Gebruik deserialize om terug te converteren naar een webserviceobject.

serialize()

Retouren

Type Description

De JSON-weergave van deze webservice.

Uitzonderingen

Type Description

update

Werk de parameters van de webservice bij.

Dit is een abstracte methode die wordt geïmplementeerd door onderliggende klassen van Webservice. Mogelijke parameters voor bijwerken variëren op basis van het onderliggende type webservice. Zie bijvoorbeeld voor Azure Container Instances webservices update voor specifieke parameters.

abstract update(*args)

Parameters

Name Description
args
Vereist
<xref:varies>

Waarden die moeten worden bijgewerkt.

Uitzonderingen

Type Description

update_deployment_state

Vernieuw de huidige status van het object in het geheugen.

Voer een in-place update uit van de eigenschappen van het object op basis van de huidige status van het bijbehorende cloudobject. Vooral handig voor het handmatig peilen van de aanmaakstatus.

update_deployment_state()

Uitzonderingen

Type Description

wait_for_deployment

Automatisch een poll uitvoeren op de actieve webservice-implementatie.

Wacht tot de webservice een terminalstatus heeft bereikt. Genereert een WebserviceException als deze een niet-geslaagde terminalstatus bereikt of de opgegeven time-out overschrijdt.

wait_for_deployment(show_output=False, timeout_sec=None)

Parameters

Name Description
show_output

Geeft aan of uitgebreidere uitvoer moet worden afgedrukt.

Default value: False
timeout_sec

Maak een uitzondering als de implementatie de opgegeven time-out overschrijdt.

Default value: None

Uitzonderingen

Type Description