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

workspace
Workspace
Vereist

Het werkruimteobject met het webserviceobject dat moet worden opgehaald.

name
str
Vereist

De naam van het webserviceobject dat moet worden opgehaald.

workspace
Workspace
Vereist

Het werkruimteobject met het webserviceobject dat moet worden opgehaald.

name
str
Vereist

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

auth_enabled
bool

Of verificatie is ingeschakeld voor de webservice.

compute_type
str

Op welk type berekening de webservice wordt geïmplementeerd.

created_time
datetime

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
datetime

De laatste keer dat de webservice is bijgewerkt.

azureml.core.Webservice.workspace

De Azure Machine Learning-werkruimte die deze webservice bevat.

token_auth_enabled
bool

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. Er wordt een WebserviceException gegenereerd als er een probleem is met het verwijderen van het model uit de Model Management-service.

deploy

Een webservice implementeren vanaf nul of meer Model objecten.

Met deze functie worden alle opgegeven modelbestanden geregistreerd en wordt er een installatiekopieën gemaakt die allemaal zijn gekoppeld aan de opgegeven Workspace. Gebruik deze functie wanneer u een map met modellen hebt 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

Een webservice implementeren 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 vanaf nul of meer Model objecten.

Deze functie is vergelijkbaar deploymet , 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

workspace
Workspace
Vereist
name
str
Vereist
overwrite
bool
standaardwaarde: False
request_func
<xref:function>
standaardwaarde: None

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

check_func
<xref:function>
standaardwaarde: None

functie om de antwoordinhoud van request_func te controleren

Uitzonderingen

delete

Verwijder deze webservice uit de bijbehorende werkruimte.

Deze functie-aanroep is niet asynchroon. De aanroep wordt uitgevoerd totdat de resource is verwijderd. Er wordt een WebserviceException gegenereerd als er een probleem is met het verwijderen van het model uit de Model Management-service.

delete()

Uitzonderingen

deploy

Een webservice implementeren vanaf nul of meer Model objecten.

Met deze functie worden alle opgegeven modelbestanden geregistreerd en wordt er een installatiekopieën gemaakt die allemaal zijn gekoppeld aan de opgegeven Workspace. Gebruik deze functie wanneer u een map met modellen hebt 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

workspace
Workspace
Vereist

Een werkruimteobject waaraan de webservice moet worden gekoppeld.

name
str
Vereist

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

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

image_config
ImageConfig
Vereist

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

deployment_config
WebserviceDeploymentConfiguration
standaardwaarde: None

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.

deployment_target
ComputeTarget
standaardwaarde: None

A ComputeTarget om de webservice in te implementeren. Aangezien Azure Container Instances geen gekoppelde ComputeTargetparameter heeft, laat u deze parameter op Geen staan om te implementeren naar Azure Container Instances.

overwrite
bool
standaardwaarde: False

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

Retouren

Een webserviceobject dat overeenkomt met de geïmplementeerde webservice.

Retourtype

Uitzonderingen

deploy_from_image

Een webservice implementeren 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

workspace
Workspace
Vereist

Een werkruimteobject waaraan de webservice moet worden gekoppeld.

name
str
Vereist

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

Een Image object dat moet worden geïmplementeerd.

deployment_config
WebserviceDeploymentConfiguration
standaardwaarde: None

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.

deployment_target
ComputeTarget
standaardwaarde: None

A ComputeTarget om de webservice in te implementeren. Aangezien Azure Container Instances geen gekoppelde ComputeTargetparameter heeft, laat u deze parameter op Geen staan om te implementeren naar Azure Container Instances.

overwrite
bool
standaardwaarde: False

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

Retouren

Een webserviceobject dat overeenkomt met de geïmplementeerde webservice.

Retourtype

Uitzonderingen

deploy_from_model

Een webservice implementeren vanaf nul of meer Model objecten.

Deze functie is vergelijkbaar deploymet , 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

workspace
Workspace
Vereist

Een werkruimteobject waaraan de webservice moet worden gekoppeld.

name
str
Vereist

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

Een lijst met modelobjecten. Kan een lege lijst zijn.

image_config
ImageConfig
Vereist

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

deployment_config
WebserviceDeploymentConfiguration
standaardwaarde: None

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.

deployment_target
ComputeTarget
standaardwaarde: None

A ComputeTarget om de webservice in te implementeren. Aangezien er geen gekoppelde ACI is, ComputeTargetlaat u deze parameter op Geen staan om te implementeren in ACI.

overwrite
bool
standaardwaarde: False

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

Retouren

Een webserviceobject dat overeenkomt met de geïmplementeerde webservice.

Retourtype

Uitzonderingen

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

workspace
Workspace
Vereist

Een werkruimteobject waaraan de webservice moet worden gekoppeld.

name
str
Vereist

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

models
list[Model]
Vereist

Een lijst met modelobjecten. Kan een lege lijst zijn.

image_config
ImageConfig
Vereist

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

deployment_config
LocalWebserviceDeploymentConfiguration
standaardwaarde: None

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

wait
bool
standaardwaarde: False

Of u wilt wachten tot de Docker-container van LocalWebservice als in orde is. Genereert een uitzondering als de container vastloopt. De standaardwaarde is False.

Retourtype

Uitzonderingen

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

cls
Vereist

Geeft aan dat dit een klassemethode is.

workspace
Workspace
Vereist

Het werkruimteobject waaronder de webservice is geregistreerd.

webservice_payload
dict
Vereist

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

Retouren

De webserviceweergave van het opgegeven JSON-object.

Retourtype

Uitzonderingen

get_keys

Verificatiesleutels ophalen voor deze webservice.

get_keys()

Retouren

De verificatiesleutels voor deze webservice.

Retourtype

(str, str)

Uitzonderingen

get_logs

Logboeken voor deze webservice ophalen.

get_logs(num_lines=5000, init=False)

Parameters

num_lines
int
standaardwaarde: 5000

Het maximum aantal logboekregels dat moet worden opgehaald.

init
bool
standaardwaarde: False

Logboeken van init-container ophalen

Retouren

De logboeken voor deze webservice.

Retourtype

str

Uitzonderingen

get_token

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

get_token()

Retouren

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

Retourtype

Uitzonderingen

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

workspace
Workspace
Vereist

Het werkruimteobject om de webservices in weer te geven.

compute_type
str
standaardwaarde: None

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

image_name
str
standaardwaarde: None

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

image_id
str
standaardwaarde: None

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

model_name
str
standaardwaarde: None

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

model_id
str
standaardwaarde: None

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

tags
list
standaardwaarde: None

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

properties
list
standaardwaarde: None

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

image_digest
str
standaardwaarde: None

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

Retouren

Een gefilterde lijst met webservices in de opgegeven werkruimte.

Retourtype

Uitzonderingen

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

key
str
Vereist

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

set_key
str
standaardwaarde: None

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

Uitzonderingen

run

Roep deze webservice aan met de opgegeven invoer.

Abstracte methode geïmplementeerd door onderliggende klassen van Webservice.

abstract run(input)

Parameters

input
<xref:varies>
Vereist

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

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

Retourtype

Uitzonderingen

serialize

Converteer dit webserviceobject naar een geserialiseerde JSON-woordenlijst.

Gebruik deserialize om terug te converteren naar een webserviceobject.

serialize()

Retouren

De JSON-weergave van deze webservice.

Retourtype

Uitzonderingen

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

args
<xref:varies>
Vereist

Waarden die moeten worden bijgewerkt.

Uitzonderingen

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

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

show_output
bool
standaardwaarde: False

Geeft aan of uitgebreidere uitvoer moet worden afgedrukt.

timeout_sec
float
standaardwaarde: None

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

Uitzonderingen