Model Klass
Representerar resultatet av maskininlärningsträning.
En modell är resultatet av en Azure Machine Learning-utbildning Run eller någon annan modellträningsprocess utanför Azure. Oavsett hur modellen skapas kan den registreras på en arbetsyta, där den representeras av ett namn och en version. Med klassen Modell kan du paketera modeller för användning med Docker och distribuera dem som en realtidsslutpunkt som kan användas för slutsatsdragningsbegäranden.
En självstudiekurs från slutpunkt till slutpunkt som visar hur modeller skapas, hanteras och används finns i Träna bildklassificeringsmodell med MNIST-data och scikit-learn med Azure Machine Learning.
Modellkonstruktor.
Modellkonstruktorn används för att hämta en molnrepresentation av ett modellobjekt som är associerat med den angivna arbetsytan. Måste ange antingen namn eller ID.
- Arv
-
builtins.objectModel
Konstruktor
Model(workspace, name=None, id=None, tags=None, properties=None, version=None, run_id=None, model_framework=None, expand=True, **kwargs)
Parametrar
- name
- str
Namnet på den modell som ska hämtas. Den senaste modellen med det angivna namnet returneras, om den finns.
- id
- str
ID:t för modellen som ska hämtas. Modellen med det angivna ID:t returneras om den finns.
- tags
- list
En valfri lista över taggar som används för att filtrera returnerade resultat. Resultaten filtreras baserat på den angivna listan och söker efter antingen "nyckel" eller "[nyckel, värde]". t.ex. ['key', ['key2', 'key2 value']]
- properties
- list
En valfri lista över egenskaper som används för att filtrera returnerade resultat. Resultaten filtreras baserat på den angivna listan och söker efter antingen "nyckel" eller "[nyckel, värde]". t.ex. ['key', ['key2', 'key2 value']]
- version
- int
Modellversionen som ska returneras. När den tillhandahålls tillsammans med parametern name
returneras den specifika versionen av den angivna namngivna modellen, om den finns. Om version
utelämnas returneras den senaste versionen av modellen.
- model_framework
- str
Valfritt ramverksnamn som används för att filtrera returnerade resultat. Om det anges returneras resultat för de modeller som matchar det angivna ramverket. Se Framework för tillåtna värden.
- name
- str
Namnet på den modell som ska hämtas. Den senaste modellen med det angivna namnet returneras, om den finns.
- id
- str
ID:t för modellen som ska hämtas. Modellen med det angivna ID:t returneras om den finns.
- tags
- list
En valfri lista över taggar som används för att filtrera returnerade resultat. Resultaten filtreras baserat på den angivna listan och söker efter antingen "nyckel" eller "[nyckel, värde]". t.ex. ['key', ['key2', 'key2 value']]
- properties
- list
En valfri lista över egenskaper som används för att filtrera returnerade resultat. Resultaten filtreras baserat på den angivna listan och söker efter antingen "nyckel" eller "[nyckel, värde]". t.ex. ['key', ['key2', 'key2 value']]
- version
- int
Modellversionen som ska returneras. När den tillhandahålls tillsammans med parametern name
returneras den specifika versionen av den angivna namngivna modellen, om den finns. Om version
utelämnas returneras den senaste versionen av modellen.
- model_framework
- str
Valfritt ramverksnamn som används för att filtrera returnerade resultat. Om det anges returneras resultat för de modeller som matchar det angivna ramverket. Se Framework för tillåtna värden.
- expand
- bool
Om det är sant returneras modeller med alla underegenskaper ifyllda, t.ex. körning, datauppsättning och experiment.
Kommentarer
Modellkonstruktorn används för att hämta en molnrepresentation av ett modellobjekt som är associerat med den angivna arbetsytan. Åtminstone måste namnet eller ID:t anges för att hämta modeller, men det finns även andra alternativ för filtrering, inklusive efter taggar, egenskaper, version, körnings-ID och ramverk.
from azureml.core.model import Model
model = Model(ws, 'my_model_name')
Följande exempel visar hur du hämtar en specifik version av en modell.
from azureml.core.model import Model
model = Model(ws, 'my_model_name', version=1)
När du registrerar en modell skapas en logisk container för en eller flera filer som utgör din modell. Förutom innehållet i själva modellfilen lagrar en registrerad modell även modellmetadata, inklusive modellbeskrivning, taggar och ramverksinformation, som är användbart när du hanterar och distribuerar modellen på din arbetsyta. Med taggar kan du till exempel kategorisera dina modeller och använda filter när du listar modeller på din arbetsyta. Efter registreringen kan du ladda ned eller distribuera den registrerade modellen och ta emot alla filer och metadata som har registrerats.
Följande exempel visar hur du registrerar en modell som anger taggar och en beskrivning.
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)
Fullständigt exempel är tillgängligt från https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local-advanced.ipynb
Följande exempel visar hur du registrerar en modell som anger ramverk, indata- och utdatauppsättningar och resurskonfiguration.
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)
Avsnittet Variabler visar attribut för en lokal representation av molnmodellobjektet. Dessa variabler bör betraktas som skrivskyddade. Att ändra deras värden återspeglas inte i motsvarande molnobjekt.
Variabler
- created_by
- dict
Användaren som skapade modellen.
- created_time
- datetime
När modellen skapades.
- azureml.core.Model.description
En beskrivning av modellobjektet.
- azureml.core.Model.id
Modell-ID. Detta sker i form av <modellnamn>:<modellversion>.
- mime_type
- str
Mime-typ för modell.
- azureml.core.Model.name
Namnet på modellen.
- model_framework
- str
Ramverket för modellen.
- model_framework_version
- str
Ramverksversionen av modellen.
- azureml.core.Model.tags
En ordlista med taggar för modellobjektet.
- azureml.core.Model.properties
Ordlista med nyckelvärdeegenskaper för modellen. Dessa egenskaper kan inte ändras efter registreringen, men nya nyckelvärdepar kan läggas till.
- unpack
- bool
Om modellen måste packas upp (utan förbrukning) när den hämtas till en lokal kontext eller inte.
- url
- str
Url-platsen för modellen.
- azureml.core.Model.version
Modellens version.
- azureml.core.Model.workspace
Arbetsytan som innehåller modellen.
- azureml.core.Model.experiment_name
Namnet på experimentet som skapade modellen.
- azureml.core.Model.run_id
ID:t för körningen som skapade modellen.
- parent_id
- str
ID:t för modellens överordnade modell.
- resource_configuration
- ResourceConfiguration
ResourceConfiguration för den här modellen. Används för profilering.
Metoder
add_dataset_references |
Associera de angivna datauppsättningarna med den här modellen. |
add_properties |
Lägg till nyckel/värde-par i modellens egenskapsordlista. |
add_tags |
Lägg till nyckelvärdepar i taggarnas ordlista för den här modellen. |
delete |
Ta bort den här modellen från dess associerade arbetsyta. |
deploy |
Distribuera en webbtjänst från noll eller flera Model objekt. Den resulterande webbtjänsten är en realtidsslutpunkt som kan användas för slutsatsdragningsbegäranden. Modellfunktionen |
deserialize |
Konvertera ett JSON-objekt till ett modellobjekt. Konverteringen misslyckas om den angivna arbetsytan inte är den arbetsyta som modellen är registrerad med. |
download |
Ladda ned modellen till målkatalogen för det lokala filsystemet. |
get_model_path |
Returnera sökvägen till modellen. Funktionen söker efter modellen på följande platser. Om
Om
|
get_sas_urls |
Returnera en ordlista med nyckel/värde-par som innehåller filnamn och motsvarande SAS-URL:er. |
list |
Hämta en lista över alla modeller som är associerade med den angivna arbetsytan med valfria filter. |
package |
Skapa ett modellpaket i form av en Docker-avbildning eller Dockerfile-kompileringskontext. |
print_configuration |
Skriv ut användarkonfigurationen. |
profile |
Profilerar modellen för att få rekommendationer om resurskrav. Det här är en tidskrävande åtgärd som kan ta upp till 25 minuter beroende på datauppsättningens storlek. |
register |
Registrera en modell med den angivna arbetsytan. |
remove_tags |
Ta bort de angivna nycklarna från ordlistan för taggar för den här modellen. |
serialize |
Konvertera den här modellen till en json-serialiserad ordlista. |
update |
Utför en uppdatering på plats av modellen. Befintliga värden för angivna parametrar ersätts. |
update_tags_properties |
Utför en uppdatering av taggarna och egenskaperna för modellen. |
add_dataset_references
Associera de angivna datauppsättningarna med den här modellen.
add_dataset_references(datasets)
Parametrar
- datasets
- list[tuple(<xref:str :> (Dataset eller DatasetSnapshot))]
En lista över tupplar som representerar en parkoppling av datauppsättningssyftet med datauppsättningsobjektet.
Undantag
add_properties
Lägg till nyckel/värde-par i modellens egenskapsordlista.
add_properties(properties)
Parametrar
Undantag
add_tags
Lägg till nyckelvärdepar i taggarnas ordlista för den här modellen.
add_tags(tags)
Parametrar
Undantag
delete
deploy
Distribuera en webbtjänst från noll eller flera Model objekt.
Den resulterande webbtjänsten är en realtidsslutpunkt som kan användas för slutsatsdragningsbegäranden. Modellfunktionen deploy
liknar funktionen i deploy
Webservice klassen, men registrerar inte modellerna. Använd funktionen Modell deploy
om du har modellobjekt som redan är registrerade.
static deploy(workspace, name, models, inference_config=None, deployment_config=None, deployment_target=None, overwrite=False, show_output=False)
Parametrar
- name
- str
Namnet på 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ångt.
- inference_config
- InferenceConfig
Ett InferenceConfig-objekt som används för att fastställa nödvändiga modellegenskaper.
- deployment_config
- WebserviceDeploymentConfiguration
En WebserviceDeploymentConfiguration som används för att konfigurera webbtjänsten. Om inget 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
Anger om den befintliga tjänsten ska skrivas över om det redan finns en tjänst med det angivna namnet.
Returer
Ett webbtjänstobjekt som motsvarar den distribuerade webbtjänsten.
Returtyp
Undantag
deserialize
Konvertera ett JSON-objekt till ett modellobjekt.
Konverteringen misslyckas om den angivna arbetsytan inte är den arbetsyta som modellen är registrerad med.
static deserialize(workspace, model_payload)
Parametrar
Returer
Modellrepresentationen av det angivna JSON-objektet.
Returtyp
Undantag
download
Ladda ned modellen till målkatalogen för det lokala filsystemet.
download(target_dir='.', exist_ok=False, exists_ok=None)
Parametrar
- target_dir
- str
Sökvägen till en katalog där modellen ska laddas ned. Standardvärdet är ".".
- exist_ok
- bool
Anger om du vill ersätta nedladdade dir/filer om de finns. Standardvärdet är False.
Returer
Sökvägen till modellens fil eller mapp.
Returtyp
Undantag
get_model_path
Returnera sökvägen till modellen.
Funktionen söker efter modellen på följande platser.
Om version
är Ingen:
- Ladda ned från fjärr till cache (om arbetsytan har angetts)
- Läs in från cache azureml-models/$MODEL_NAME/$LATEST_VERSION/
- ./$MODEL_NAME
Om version
inte är Ingen:
- Läs in från cache azureml-models/$MODEL_NAME/$SPECIFIED_VERSION/
- Ladda ned från fjärr till cache (om arbetsytan har angetts)
static get_model_path(model_name, version=None, _workspace=None)
Parametrar
- version
- int
Den version av modellen som ska hämtas. Standardvärdet är den senaste versionen.
- _workspace
- Workspace
Arbetsytan som du vill hämta en modell från. Det går inte att fjärransluta. Om det inte anges genomsöks endast lokal cache.
Returer
Sökvägen på disken till modellen.
Returtyp
Undantag
get_sas_urls
Returnera en ordlista med nyckel/värde-par som innehåller filnamn och motsvarande SAS-URL:er.
get_sas_urls()
Returer
Ordlista med nyckel/värde-par som innehåller filnamn och motsvarande SAS-URL:er
Returtyp
Undantag
list
Hämta en lista över alla modeller som är associerade med den angivna arbetsytan med valfria filter.
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)
Parametrar
- name
- str
Om detta anges returneras endast modeller med det angivna namnet, om det finns några.
- tags
- list
Filtrerar baserat på den angivna listan, antingen efter "nyckel" eller "[nyckel, värde]". t.ex. ['key', ['key2', 'key2 value']]
- properties
- list
Filtrerar baserat på den angivna listan, antingen efter "nyckel" eller "[nyckel, värde]". t.ex. ['key', ['key2', 'key2 value']]
- latest
- bool
Om det är sant returneras endast modeller med den senaste versionen.
- expand
- bool
Om det är sant returneras modeller med alla underegenskaper ifyllda, t.ex. körning, datauppsättning och experiment. Om du anger falskt bör list()-metoden slutföras snabbare om det finns många modeller.
- page_count
- int
Antalet objekt som ska hämtas på en sida. Stöder för närvarande värden upp till 255. Standardvärdet är 255.
- model_framework
- str
Om det tillhandahålls returneras endast modeller med det angivna ramverket, om det finns några.
Returer
En lista över modeller, eventuellt filtrerade.
Returtyp
Undantag
package
Skapa ett modellpaket i form av en Docker-avbildning eller Dockerfile-kompileringskontext.
static package(workspace, models, inference_config=None, generate_dockerfile=False, image_name=None, image_label=None)
Parametrar
En lista över modellobjekt som ska ingå i paketet. Kan vara en tom lista.
- inference_config
- InferenceConfig
Ett InferenceConfig-objekt för att konfigurera driften av modellerna. Detta måste innehålla ett miljöobjekt.
- generate_dockerfile
- bool
Om du vill skapa en Dockerfile som kan köras lokalt i stället för att skapa en avbildning.
- image_name
- str
När du skapar en avbildning, namnet på den resulterande avbildningen.
- image_label
- str
När du skapar en avbildning, etiketten för den resulterande bilden.
Returer
Ett ModelPackage-objekt.
Returtyp
Undantag
print_configuration
Skriv ut användarkonfigurationen.
static print_configuration(models, inference_config, deployment_config, deployment_target)
Parametrar
- inference_config
- InferenceConfig
Ett InferenceConfig-objekt som används för att fastställa nödvändiga modellegenskaper.
- deployment_config
- WebserviceDeploymentConfiguration
En WebserviceDeploymentConfiguration som används för att konfigurera webbtjänsten.
- deployment_target
- ComputeTarget
A ComputeTarget som webbtjänsten ska distribueras till.
Undantag
profile
Profilerar modellen för att få rekommendationer om resurskrav.
Det här är en tidskrävande åtgärd som kan ta upp till 25 minuter beroende på datauppsättningens storlek.
static profile(workspace, profile_name, models, inference_config, input_dataset, cpu=None, memory_in_gb=None, description=None)
Parametrar
- inference_config
- InferenceConfig
Ett InferenceConfig-objekt som används för att fastställa nödvändiga modellegenskaper.
- input_dataset
- Dataset
Indatauppsättningen för profilering. Indatauppsättningen ska ha en enda kolumn och exempelindata ska vara i strängformat.
- cpu
- float
Antalet processorkärnor som ska användas på den största testinstansen. Stöder för närvarande värden upp till 3,5.
- memory_in_gb
- float
Mängden minne (i GB) som ska användas på den största testinstansen. Kan vara en decimal. Stöder för närvarande värden upp till 15.0.
Returtyp
Undantag
register
Registrera en modell med den angivna arbetsytan.
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)
Parametrar
- model_path
- str
Sökvägen till det lokala filsystemet där modelltillgångarna finns. Detta kan vara en direkt pekare till en enda fil eller mapp. Om du pekar på en mapp kan parametern child_paths
användas för att ange enskilda filer som ska paketeras som modellobjektet, i stället för att använda hela innehållet i mappen.
- tags
- dict(<xref:{str : str}>)
En valfri ordlista med nyckelvärdestaggar som ska tilldelas till modellen.
- properties
- dict(<xref:{str : str}>)
En valfri ordlista med nyckelvärdesegenskaper som ska tilldelas till modellen. Dessa egenskaper kan inte ändras när modellen har skapats, men nya nyckel/värde-par kan läggas till.
- datasets
- list[(str, AbstractDataset)]
En lista över tupplar där det första elementet beskriver relationen mellan datamängd och modell och det andra elementet är datauppsättningen.
- model_framework
- str
Ramverket för den registrerade modellen. Med hjälp av konstanter som stöds av systemet från Framework klassen kan du förenkla distributionen för vissa populära ramverk.
Om de tillhandahålls tillsammans med en model_path
till en mapp paketeras endast de angivna filerna i modellobjektet.
- sample_input_dataset
- AbstractDataset
Exempel på indatauppsättning för den registrerade modellen.
- sample_output_dataset
- AbstractDataset
Exempel på utdatauppsättning för den registrerade modellen.
- resource_configuration
- ResourceConfiguration
En resurskonfiguration för att köra den registrerade modellen.
Returer
Det registrerade modellobjektet.
Returtyp
Undantag
Kommentarer
Förutom innehållet i själva modellfilen lagrar en registrerad modell även modellmetadata, inklusive modellbeskrivning, taggar och ramverksinformation, som är användbara när du hanterar och distribuerar modellen på din arbetsyta. Med taggar kan du till exempel kategorisera dina modeller och använda filter när du listar modeller på din arbetsyta.
Följande exempel visar hur du registrerar en modell som anger taggar och en beskrivning.
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)
Fullständigt exempel är tillgängligt från https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local-advanced.ipynb
Om du har en modell som har skapats som ett resultat av en experimentkörning kan du registrera den från ett körningsobjekt direkt utan att ladda ned den till en lokal fil först. För att göra det använder du register_model metoden enligt beskrivningen Run i klassen .
remove_tags
Ta bort de angivna nycklarna från ordlistan för taggar för den här modellen.
remove_tags(tags)
Parametrar
Undantag
serialize
Konvertera den här modellen till en json-serialiserad ordlista.
serialize()
Returer
Json-representationen av den här modellen
Returtyp
Undantag
update
Utför en uppdatering på plats av modellen.
Befintliga värden för angivna parametrar ersätts.
update(tags=None, description=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None)
Parametrar
- tags
- dict(<xref:{str : str}>)
En ordlista med taggar att uppdatera modellen med. Dessa taggar ersätter befintliga taggar för modellen.
- description
- str
Den nya beskrivningen som ska användas för modellen. Det här namnet ersätter det befintliga namnet.
- sample_input_dataset
- AbstractDataset
Exempeldatauppsättningen som ska användas för den registrerade modellen. Den här exempeldatauppsättningen ersätter den befintliga datauppsättningen.
- sample_output_dataset
- AbstractDataset
Exempeldatauppsättningen som ska användas för den registrerade modellen. Den här exempeldatauppsättningen ersätter den befintliga datauppsättningen.
- resource_configuration
- ResourceConfiguration
Den resurskonfiguration som ska användas för att köra den registrerade modellen.
Undantag
update_tags_properties
Utför en uppdatering av taggarna och egenskaperna för modellen.
update_tags_properties(add_tags=None, remove_tags=None, add_properties=None)
Parametrar
- add_properties
- dict(<xref:{str : str}>)
En ordlista med egenskaper att lägga till.
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