Model Klas
Vertegenwoordigt het resultaat van machine learning-training.
Een model is het resultaat van een Azure Machine Learning-training Run of een ander modeltrainingsproces buiten Azure. Ongeacht hoe het model wordt geproduceerd, kan het worden geregistreerd in een werkruimte, waar het wordt vertegenwoordigd door een naam en een versie. Met de klasse Model kunt u modellen verpakken voor gebruik met Docker en deze implementeren als een realtime-eindpunt dat kan worden gebruikt voor deductieaanvragen.
Zie Afbeeldingsclassificatiemodel trainen met MNIST-gegevens en scikit-learn met Azure Machine Learning voor een end-to-end-zelfstudie over hoe modellen worden gemaakt, beheerd en gebruikt.
Modelconstructor.
De modelconstructor wordt gebruikt om een cloudweergave op te halen van een Model-object dat is gekoppeld aan de opgegeven werkruimte. U moet een naam of id opgeven.
- Overname
-
builtins.objectModel
Constructor
Model(workspace, name=None, id=None, tags=None, properties=None, version=None, run_id=None, model_framework=None, expand=True, **kwargs)
Parameters
- name
- str
De naam van het model dat moet worden opgehaald. Het meest recente model met de opgegeven naam wordt geretourneerd, als dit bestaat.
- id
- str
De id van het model dat moet worden opgehaald. Het model met de opgegeven id wordt geretourneerd, als dit bestaat.
- tags
- list
Een optionele lijst met tags die worden gebruikt om geretourneerde resultaten te filteren. Resultaten worden gefilterd op basis van de opgegeven lijst, door te zoeken op 'sleutel' of '[sleutel, waarde]'. Bijvoorbeeld ['key', ['key2', 'key2 value']]
- properties
- list
Een optionele lijst met eigenschappen die worden gebruikt om geretourneerde resultaten te filteren. Resultaten worden gefilterd op basis van de opgegeven lijst, door te zoeken op 'sleutel' of '[sleutel, waarde]'. Bijvoorbeeld ['key', ['key2', 'key2 value']]
- version
- int
De modelversie die moet worden geretourneerd. Wanneer deze samen met de name
parameter wordt opgegeven, wordt de specifieke versie van het opgegeven benoemde model geretourneerd, als deze bestaat. Als version
u dit weglaat, wordt de laatste versie van het model geretourneerd.
- run_id
- str
Optionele id die wordt gebruikt om geretourneerde resultaten te filteren.
- model_framework
- str
Optionele frameworknaam die wordt gebruikt om geretourneerde resultaten te filteren. Indien opgegeven, worden resultaten geretourneerd voor de modellen die overeenkomen met het opgegeven framework. Zie Framework voor toegestane waarden.
- name
- str
De naam van het model dat moet worden opgehaald. Het meest recente model met de opgegeven naam wordt geretourneerd, als dit bestaat.
- id
- str
De id van het model dat moet worden opgehaald. Het model met de opgegeven id wordt geretourneerd, als dit bestaat.
- tags
- list
Een optionele lijst met tags die worden gebruikt om geretourneerde resultaten te filteren. Resultaten worden gefilterd op basis van de opgegeven lijst, door te zoeken op 'sleutel' of '[sleutel, waarde]'. Bijvoorbeeld ['key', ['key2', 'key2 value']]
- properties
- list
Een optionele lijst met eigenschappen die worden gebruikt om geretourneerde resultaten te filteren. Resultaten worden gefilterd op basis van de opgegeven lijst, door te zoeken op 'sleutel' of '[sleutel, waarde]'. Bijvoorbeeld ['key', ['key2', 'key2 value']]
- version
- int
De modelversie die moet worden geretourneerd. Wanneer deze samen met de name
parameter wordt opgegeven, wordt de specifieke versie van het opgegeven benoemde model geretourneerd, als deze bestaat. Als version
u dit weglaat, wordt de laatste versie van het model geretourneerd.
- model_framework
- str
Optionele frameworknaam die wordt gebruikt om geretourneerde resultaten te filteren. Indien opgegeven, worden resultaten geretourneerd voor de modellen die overeenkomen met het opgegeven framework. Zie Framework voor toegestane waarden.
- expand
- bool
Indien waar, retourneert modellen met alle ingevulde subeigenschappen, bijvoorbeeld uitvoeren, gegevensset en experiment.
Opmerkingen
De modelconstructor wordt gebruikt om een cloudweergave op te halen van een Model-object dat is gekoppeld aan de opgegeven werkruimte. Ten minste de naam of id moet worden opgegeven om modellen op te halen, maar er zijn ook andere opties voor filteren, zoals op tags, eigenschappen, versie, uitvoerings-id en framework.
from azureml.core.model import Model
model = Model(ws, 'my_model_name')
In het volgende voorbeeld ziet u hoe u een specifieke versie van een model ophaalt.
from azureml.core.model import Model
model = Model(ws, 'my_model_name', version=1)
Als u een model registreert, wordt er een logische container gemaakt voor een of meer bestanden waaruit uw model bestaat. Naast de inhoud van het modelbestand zelf worden in een geregistreerd model ook modelmetagegevens opgeslagen, inclusief modelbeschrijving, tags en frameworkgegevens. Dit is handig bij het beheren en implementeren van het model in uw werkruimte. Met tags kunt u bijvoorbeeld uw modellen categoriseren en filters toepassen bij het weergeven van modellen in uw werkruimte. Na de registratie kunt u het geregistreerde model downloaden of implementeren en alle geregistreerde bestanden en metagegevens ontvangen.
In het volgende voorbeeld ziet u hoe u een model registreert met tags en een beschrijving.
from azureml.core.model import Model
model = Model.register(model_path="sklearn_regression_model.pkl",
model_name="sklearn_regression_model",
tags={'area': "diabetes", 'type': "regression"},
description="Ridge regression model to predict diabetes",
workspace=ws)
Het volledige voorbeeld is beschikbaar via https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local-advanced.ipynb
In het volgende voorbeeld ziet u hoe u een model registreert dat een framework, invoer- en uitvoergegevenssets en resourceconfiguratie opgeeft.
import sklearn
from azureml.core import Model
from azureml.core.resource_configuration import ResourceConfiguration
model = Model.register(workspace=ws,
model_name='my-sklearn-model', # Name of the registered model in your workspace.
model_path='./sklearn_regression_model.pkl', # Local file to upload and register as a model.
model_framework=Model.Framework.SCIKITLEARN, # Framework used to create the model.
model_framework_version=sklearn.__version__, # Version of scikit-learn used to create the model.
sample_input_dataset=input_dataset,
sample_output_dataset=output_dataset,
resource_configuration=ResourceConfiguration(cpu=1, memory_in_gb=0.5),
description='Ridge regression model to predict diabetes progression.',
tags={'area': 'diabetes', 'type': 'regression'})
print('Name:', model.name)
print('Version:', model.version)
De sectie Variabelen bevat kenmerken van een lokale weergave van het cloudmodelobject. Deze variabelen moeten worden beschouwd als alleen-lezen. Het wijzigen van de waarden wordt niet doorgevoerd in het bijbehorende cloudobject.
Variabelen
- created_by
- dict
De gebruiker die het model heeft gemaakt.
- created_time
- datetime
Toen het model werd gemaakt.
- azureml.core.Model.description
Een beschrijving van het object Model.
- azureml.core.Model.id
De model-id. Dit heeft de vorm van <modelnaam>:<modelversie>.
- mime_type
- str
Het mime-type model.
- azureml.core.Model.name
De naam van het model.
- model_framework
- str
Het framework van het model.
- model_framework_version
- str
De frameworkversie van het model.
- azureml.core.Model.tags
Een woordenlijst met tags voor het object Model.
- azureml.core.Model.properties
Woordenlijst met sleutelwaarde-eigenschappen voor het model. Deze eigenschappen kunnen niet worden gewijzigd na registratie, maar er kunnen wel nieuwe sleutelwaardeparen worden toegevoegd.
- unpack
- bool
Of het model al dan niet moet worden uitgepakt (niet-doel) wanneer het naar een lokale context wordt gehaald.
- url
- str
De URL-locatie van het model.
- azureml.core.Model.version
De versie van het model.
- azureml.core.Model.workspace
De werkruimte met het model.
- azureml.core.Model.experiment_name
De naam van het experiment waarmee het model is gemaakt.
- azureml.core.Model.run_id
De id van de Run waarmee het model is gemaakt.
- parent_id
- str
De id van het bovenliggende model van het model.
- resource_configuration
- ResourceConfiguration
De ResourceConfiguration voor dit model. Wordt gebruikt voor profilering.
Methoden
add_dataset_references |
Koppel de opgegeven gegevenssets aan dit model. |
add_properties |
Voeg sleutelwaardeparen toe aan de eigenschappenwoordenlijst van dit model. |
add_tags |
Voeg sleutelwaardeparen toe aan de woordenlijst met tags van dit model. |
delete |
Verwijder dit model uit de bijbehorende werkruimte. |
deploy |
Een webservice implementeren vanuit nul of meer Model objecten. De resulterende webservice is een realtime-eindpunt dat kan worden gebruikt voor deductieaanvragen. De functie Model |
deserialize |
Converteer een JSON-object naar een modelobject. De conversie mislukt als de opgegeven werkruimte niet de werkruimte is waarmee het model is geregistreerd. |
download |
Download het model naar de doelmap van het lokale bestandssysteem. |
get_model_path |
Retourneer het pad naar het model. De functie zoekt het model op de volgende locaties. Als
Als
|
get_sas_urls |
Retourneert een woordenlijst met sleutel-waardeparen die bestandsnamen en bijbehorende SAS-URL's bevatten. |
list |
Haal een lijst op met alle modellen die zijn gekoppeld aan de opgegeven werkruimte, met optionele filters. |
package |
Maak een modelpakket in de vorm van een Docker-installatiekopieën of dockerfile-buildcontext. |
print_configuration |
De gebruikersconfiguratie afdrukken. |
profile |
Profielen van het model om aanbevelingen voor resourcevereisten op te halen. Dit is een langdurige bewerking die tot 25 minuten kan duren, afhankelijk van de grootte van de gegevensset. |
register |
Registreer een model bij de opgegeven werkruimte. |
remove_tags |
Verwijder de opgegeven sleutels uit de woordenlijst met tags van dit model. |
serialize |
Converteer dit model naar een met JSON geserialiseerde woordenlijst. |
update |
Voer een in-place update van het model uit. Bestaande waarden van opgegeven parameters worden vervangen. |
update_tags_properties |
Voer een update uit van de tags en eigenschappen van het model. |
add_dataset_references
Koppel de opgegeven gegevenssets aan dit model.
add_dataset_references(datasets)
Parameters
- datasets
- list[tuple(<xref:str :> (Dataset of DatasetSnapshot))]
Een lijst met tuples die een koppeling van het doel van de gegevensset met het gegevenssetobject vertegenwoordigen.
Uitzonderingen
add_properties
Voeg sleutelwaardeparen toe aan de eigenschappenwoordenlijst van dit model.
add_properties(properties)
Parameters
Uitzonderingen
add_tags
Voeg sleutelwaardeparen toe aan de woordenlijst met tags van dit model.
add_tags(tags)
Parameters
Uitzonderingen
delete
deploy
Een webservice implementeren vanuit nul of meer Model objecten.
De resulterende webservice is een realtime-eindpunt dat kan worden gebruikt voor deductieaanvragen. De functie Model deploy
is vergelijkbaar met de deploy
functie van de Webservice klasse, maar registreert de modellen niet. Gebruik de functie Model deploy
als u modelobjecten hebt die al zijn geregistreerd.
static deploy(workspace, name, models, inference_config=None, deployment_config=None, deployment_target=None, overwrite=False, show_output=False)
Parameters
- name
- 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.
- inference_config
- InferenceConfig
Een InferenceConfig-object dat wordt gebruikt om vereiste modeleigenschappen te bepalen.
- deployment_config
- WebserviceDeploymentConfiguration
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
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.
- overwrite
- bool
Geeft aan of de bestaande service moet worden overschreven als er al een service met de opgegeven naam bestaat.
- show_output
- bool
Geeft aan of de voortgang van de service-implementatie moet worden weergegeven.
Retouren
Een webserviceobject dat overeenkomt met de geïmplementeerde webservice.
Retourtype
Uitzonderingen
deserialize
Converteer een JSON-object naar een modelobject.
De conversie mislukt als de opgegeven werkruimte niet de werkruimte is waarmee het model is geregistreerd.
static deserialize(workspace, model_payload)
Parameters
Retouren
De modelweergave van het opgegeven JSON-object.
Retourtype
Uitzonderingen
download
Download het model naar de doelmap van het lokale bestandssysteem.
download(target_dir='.', exist_ok=False, exists_ok=None)
Parameters
- target_dir
- str
Het pad naar een map waarin het model moet worden gedownload. Standaard ingesteld op ''.
- exist_ok
- bool
Geeft aan of gedownloade dir/bestanden moeten worden vervangen als deze bestaan. Standaard ingesteld op False.
Retouren
Het pad naar het bestand of de map van het model.
Retourtype
Uitzonderingen
get_model_path
Retourneer het pad naar het model.
De functie zoekt het model op de volgende locaties.
Als version
de optie Geen is:
- Downloaden van extern naar cache (als werkruimte is opgegeven)
- Laden uit cache azureml-models/$MODEL_NAME/$LATEST_VERSION/
- ./$MODEL_NAME
Als version
niet Geen is:
- Laden uit cache azureml-models/$MODEL_NAME/$SPECIFIED_VERSION/
- Downloaden van extern naar cache (als werkruimte is opgegeven)
static get_model_path(model_name, version=None, _workspace=None)
Parameters
- version
- int
De versie van het model dat moet worden opgehaald. De standaardinstelling is de nieuwste versie.
- _workspace
- Workspace
De werkruimte waaruit een model wordt opgehaald. Kan niet extern worden gebruikt. Als dit niet is opgegeven, wordt alleen de lokale cache doorzocht.
Retouren
Het pad op schijf naar het model.
Retourtype
Uitzonderingen
get_sas_urls
Retourneert een woordenlijst met sleutel-waardeparen die bestandsnamen en bijbehorende SAS-URL's bevatten.
get_sas_urls()
Retouren
Woordenlijst van sleutel-waardeparen met bestandsnamen en bijbehorende SAS-URL's
Retourtype
Uitzonderingen
list
Haal een lijst op met alle modellen die zijn gekoppeld aan de opgegeven werkruimte, met optionele filters.
static list(workspace, name=None, tags=None, properties=None, run_id=None, latest=False, dataset_id=None, expand=True, page_count=255, model_framework=None)
Parameters
- name
- str
Indien opgegeven, retourneert alleen modellen met de opgegeven naam, indien aanwezig.
- tags
- list
Filtert op basis van de opgegeven lijst, op 'sleutel' of '[sleutel, waarde]'. Bijvoorbeeld ['key', ['key2', 'key2 value']]
- properties
- list
Filtert op basis van de opgegeven lijst, op 'sleutel' of '[sleutel, waarde]'. Bijvoorbeeld ['key', ['key2', 'key2 value']]
- expand
- bool
Indien waar, retourneert modellen met alle subeigenschappen ingevuld, bijvoorbeeld uitvoeren, gegevensset en experiment. Als u dit instelt op false, wordt de list()-methode sneller voltooid in het geval van veel modellen.
- page_count
- int
Het aantal items dat op een pagina moet worden opgehaald. Momenteel worden waarden tot 255 ondersteund. De standaardwaarde is 255.
- model_framework
- str
Indien opgegeven, retourneert alleen modellen met het opgegeven framework, indien van toepassing.
Retouren
Een lijst met modellen, optioneel gefilterd.
Retourtype
Uitzonderingen
package
Maak een modelpakket in de vorm van een Docker-installatiekopieën of dockerfile-buildcontext.
static package(workspace, models, inference_config=None, generate_dockerfile=False, image_name=None, image_label=None)
Parameters
Een lijst met modelobjecten die moeten worden opgenomen in het pakket. Kan een lege lijst zijn.
- inference_config
- InferenceConfig
Een InferenceConfig-object om de werking van de modellen te configureren. Dit moet een Environment-object bevatten.
- generate_dockerfile
- bool
Of u een Dockerfile wilt maken dat lokaal kan worden uitgevoerd in plaats van een installatiekopieën te maken.
- image_name
- str
Bij het bouwen van een installatiekopieën, de naam voor de resulterende installatiekopieën.
- image_label
- str
Bij het bouwen van een installatiekopieën, het label voor de resulterende afbeelding.
Retouren
Een ModelPackage-object.
Retourtype
Uitzonderingen
print_configuration
De gebruikersconfiguratie afdrukken.
static print_configuration(models, inference_config, deployment_config, deployment_target)
Parameters
- inference_config
- InferenceConfig
Een InferenceConfig-object dat wordt gebruikt om de vereiste modeleigenschappen te bepalen.
- deployment_config
- WebserviceDeploymentConfiguration
Een WebserviceDeploymentConfiguration die wordt gebruikt om de webservice te configureren.
Uitzonderingen
profile
Profielen van het model om aanbevelingen voor resourcevereisten op te halen.
Dit is een langdurige bewerking die tot 25 minuten kan duren, afhankelijk van de grootte van de gegevensset.
static profile(workspace, profile_name, models, inference_config, input_dataset, cpu=None, memory_in_gb=None, description=None)
Parameters
- inference_config
- InferenceConfig
Een InferenceConfig-object dat wordt gebruikt om de vereiste modeleigenschappen te bepalen.
- input_dataset
- Dataset
De invoergegevensset voor profilering. De invoergegevensset moet één kolom hebben en voorbeeldinvoer moet de tekenreeksindeling hebben.
- cpu
- float
Het aantal CPU-kernen dat moet worden gebruikt op het grootste testexemplaren. Momenteel worden waarden tot 3,5 ondersteund.
- memory_in_gb
- float
De hoeveelheid geheugen (in GB) die op het grootste testexemplaren moet worden gebruikt. Kan een decimaal getal zijn. Momenteel worden waarden tot 15.0 ondersteund.
- description
- str
Beschrijving die moet worden gekoppeld aan de profileringsuitvoering.
Retourtype
Uitzonderingen
register
Registreer een model bij de opgegeven werkruimte.
static register(workspace, model_path, model_name, tags=None, properties=None, description=None, datasets=None, model_framework=None, model_framework_version=None, child_paths=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None)
Parameters
- model_path
- str
Het pad op het lokale bestandssysteem waar de modelassets zich bevinden. Dit kan een directe verwijzing naar één bestand of map zijn. Als u naar een map wijst, kan de child_paths
parameter worden gebruikt om afzonderlijke bestanden op te geven die moeten worden gebundeld als het modelobject, in plaats van de hele inhoud van de map te gebruiken.
- tags
- dict(<xref:{str : str}>)
Een optionele woordenlijst met sleutelwaardetags die aan het model moeten worden toegewezen.
- properties
- dict(<xref:{str : str}>)
Een optionele woordenlijst met sleutelwaarde-eigenschappen die aan het model moeten worden toegewezen. Deze eigenschappen kunnen niet worden gewijzigd nadat het model is gemaakt, maar nieuwe sleutelwaardeparen kunnen wel worden toegevoegd.
- datasets
- list[(str, AbstractDataset)]
Een lijst met tuples waarbij het eerste element de relatie gegevensset-model beschrijft en het tweede element de gegevensset is.
- model_framework
- str
Het framework van het geregistreerde model. Door de door het systeem ondersteunde constanten uit de Framework klasse te gebruiken, is een vereenvoudigde implementatie mogelijk voor een aantal populaire frameworks.
Als deze wordt opgegeven in combinatie met een model_path
aan een map, worden alleen de opgegeven bestanden gebundeld in het object Model.
- sample_input_dataset
- AbstractDataset
Voorbeeld van invoergegevensset voor het geregistreerde model.
- sample_output_dataset
- AbstractDataset
Voorbeeld van uitvoergegevensset voor het geregistreerde model.
- resource_configuration
- ResourceConfiguration
Een resourceconfiguratie om het geregistreerde model uit te voeren.
Retouren
Het geregistreerde modelobject.
Retourtype
Uitzonderingen
Opmerkingen
Naast de inhoud van het modelbestand zelf slaat een geregistreerd model ook metagegevens van het model op, waaronder modelbeschrijving, tags en frameworkgegevens, die handig zijn bij het beheren en implementeren van het model in uw werkruimte. Met tags kunt u bijvoorbeeld uw modellen categoriseren en filters toepassen bij het weergeven van modellen in uw werkruimte.
In het volgende voorbeeld ziet u hoe u een model registreert met tags en een beschrijving.
from azureml.core.model import Model
model = Model.register(model_path="sklearn_regression_model.pkl",
model_name="sklearn_regression_model",
tags={'area': "diabetes", 'type': "regression"},
description="Ridge regression model to predict diabetes",
workspace=ws)
Volledig voorbeeld is beschikbaar via https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local-advanced.ipynb
Als u een model hebt dat is geproduceerd als gevolg van een experimentuitvoering, kunt u het rechtstreeks vanuit een uitvoeringsobject registreren zonder het eerst naar een lokaal bestand te downloaden. Gebruik hiervoor de register_model methode zoals beschreven in de Run klasse.
remove_tags
Verwijder de opgegeven sleutels uit de woordenlijst met tags van dit model.
remove_tags(tags)
Parameters
Uitzonderingen
serialize
Converteer dit model naar een met JSON geserialiseerde woordenlijst.
serialize()
Retouren
De json-weergave van dit model
Retourtype
Uitzonderingen
update
Voer een in-place update van het model uit.
Bestaande waarden van opgegeven parameters worden vervangen.
update(tags=None, description=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None)
Parameters
- tags
- dict(<xref:{str : str}>)
Een woordenlijst met tags waarmee u het model kunt bijwerken. Deze tags vervangen bestaande tags voor het model.
- description
- str
De nieuwe beschrijving die voor het model moet worden gebruikt. Deze naam vervangt de bestaande naam.
- sample_input_dataset
- AbstractDataset
De voorbeeldinvoergegevensset die moet worden gebruikt voor het geregistreerde model. Deze voorbeeldinvoergegevensset vervangt de bestaande gegevensset.
- sample_output_dataset
- AbstractDataset
De voorbeelduitvoergegevensset die moet worden gebruikt voor het geregistreerde model. Deze voorbeelduitvoergegevensset vervangt de bestaande gegevensset.
- resource_configuration
- ResourceConfiguration
De resourceconfiguratie die moet worden gebruikt om het geregistreerde model uit te voeren.
Uitzonderingen
update_tags_properties
Voer een update uit van de tags en eigenschappen van het model.
update_tags_properties(add_tags=None, remove_tags=None, add_properties=None)
Parameters
- add_tags
- dict(<xref:{str : str}>)
Een woordenlijst met tags die u wilt toevoegen.
- add_properties
- dict(<xref:{str : str}>)
Een woordenlijst met eigenschappen die u wilt toevoegen.
Uitzonderingen
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub Issues geleidelijk uitfaseren als het feedbackmechanisme voor inhoud. Het wordt vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor