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
|
De naam van het webserviceobject dat moet worden opgehaald. |
workspace
Vereist
|
Het werkruimteobject met het webserviceobject dat moet worden opgehaald. |
name
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
Name | Description |
---|---|
auth_enabled
|
Of verificatie is ingeschakeld voor de webservice. |
compute_type
|
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
|
De gebruiker die de webservice heeft gemaakt. |
error
|
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. 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 |
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
|
|
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. Er wordt een WebserviceException gegenereerd als er een probleem is met het verwijderen van het model uit de Model Management-service.
delete()
Uitzonderingen
Type | Description |
---|---|
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
Name | Description |
---|---|
workspace
Vereist
|
Een werkruimteobject waaraan de webservice moet worden gekoppeld. |
name
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
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
|
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. 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
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
Name | Description |
---|---|
workspace
Vereist
|
Een werkruimteobject waaraan de webservice moet worden gekoppeld. |
name
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
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
|
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. 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 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
Name | Description |
---|---|
workspace
Vereist
|
Een werkruimteobject waaraan de webservice moet worden gekoppeld. |
name
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
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
|
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. 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
|
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 u wilt wachten 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 |
---|---|
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
|
Het maximum aantal logboekregels dat moet worden opgehaald. Default value: 5000
|
init
|
Logboeken van init-container ophalen Default value: False
|
Retouren
Type | Description |
---|---|
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
|
Filter om alleen specifieke webservicetypen weer te geven. Opties zijn 'ACI', 'AKS'. Default value: None
|
image_name
|
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
|
Filter de lijst om alleen webservices op te nemen die zijn geïmplementeerd met de specifieke installatiekopie-id. Default value: None
|
model_name
|
Filter de lijst om alleen webservices op te nemen die zijn geïmplementeerd met de specifieke modelnaam. Default value: None
|
model_id
|
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
|
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
|
De sleutel om opnieuw te genereren. Opties zijn 'Primair' of 'Secundair'. |
set_key
|
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 |
---|---|