Model Třída
Představuje výsledek trénování strojového učení.
Model je výsledkem trénování Run Azure Machine Learning nebo jiného procesu trénování modelu mimo Azure. Bez ohledu na to, jak se model vytvoří, může být zaregistrovaný v pracovním prostoru, kde je reprezentován názvem a verzí. Pomocí třídy Model můžete zabalit modely pro použití s Dockerem a nasadit je jako koncový bod v reálném čase, který je možné použít pro žádosti o odvozování.
Kompletní kurz, který ukazuje, jak se modely vytvářejí, spravují a využívají, najdete v tématu trénování modelu klasifikace obrázků s daty MNIST a scikit-learn pomocí služby Azure Machine Learning.
Konstruktor modelu.
Konstruktor Modelu se používá k načtení cloudové reprezentace objektu Modelu přidruženého k poskytnutému pracovnímu prostoru. Musí zadat název nebo ID.
- Dědičnost
-
builtins.objectModel
Konstruktor
Model(workspace, name=None, id=None, tags=None, properties=None, version=None, run_id=None, model_framework=None, expand=True, **kwargs)
Parametry
- name
- str
Název modelu, který se má načíst. Pokud existuje, vrátí se nejnovější model se zadaným názvem.
- id
- str
ID modelu, který se má načíst. Model se zadaným ID se vrátí, pokud existuje.
- tags
- list
Volitelný seznam značek použitých k filtrování vrácených výsledků Výsledky se filtrují na základě zadaného seznamu a hledají se buď podle klíče, nebo podle [klíč, hodnota]. Například ['klíč', ['klíč2', 'hodnota klíče2']]
- properties
- list
Volitelný seznam vlastností použitých k filtrování vrácených výsledků. Výsledky se filtrují na základě zadaného seznamu a hledají se buď podle klíče, nebo podle [klíč, hodnota]. Například ['klíč', ['klíč2', 'hodnota klíče2']]
- version
- int
Verze modelu, která se má vrátit. Po zadání spolu s parametrem name
se vrátí konkrétní verze zadaného pojmenovaného modelu, pokud existuje. Pokud version
je vynechána, vrátí se poslední verze modelu.
- model_framework
- str
Nepovinný název architektury použitý k filtrování vrácených výsledků Pokud je zadáno, vrátí se výsledky pro modely odpovídající zadané architektuře. Informace o povolených hodnotách najdete v tématu Framework .
- name
- str
Název modelu, který se má načíst. Pokud existuje, vrátí se nejnovější model se zadaným názvem.
- tags
- list
Volitelný seznam značek použitých k filtrování vrácených výsledků Výsledky se filtrují na základě zadaného seznamu a hledají se buď podle klíče, nebo podle [klíč, hodnota]. Například ['klíč', ['klíč2', 'hodnota klíče2']]
- properties
- list
Volitelný seznam vlastností použitých k filtrování vrácených výsledků. Výsledky se filtrují na základě zadaného seznamu a hledají se buď podle klíče, nebo podle [klíč, hodnota]. Například ['klíč', ['klíč2', 'hodnota klíče2']]
- version
- int
Verze modelu, která se má vrátit. Po zadání spolu s parametrem name
se vrátí konkrétní verze zadaného pojmenovaného modelu, pokud existuje. Pokud version
je vynechána, vrátí se poslední verze modelu.
- model_framework
- str
Nepovinný název architektury použitý k filtrování vrácených výsledků Pokud je zadáno, vrátí se výsledky pro modely odpovídající zadané architektuře. Informace o povolených hodnotách najdete v tématu Framework .
- expand
- bool
Pokud je true, vrátí modely se všemi dílčími vlastnostmi vyplněnými, například spuštěním, datovou sadou a experimentem.
Poznámky
Konstruktor Model slouží k načtení cloudové reprezentace objektu Modelu přidruženého k zadanému pracovnímu prostoru. Pro načtení modelů je potřeba zadat alespoň název nebo ID, ale existují i další možnosti filtrování, včetně značek, vlastností, verze, ID spuštění a architektury.
from azureml.core.model import Model
model = Model(ws, 'my_model_name')
Následující ukázka ukazuje, jak načíst konkrétní verzi modelu.
from azureml.core.model import Model
model = Model(ws, 'my_model_name', version=1)
Registrací modelu se vytvoří logický kontejner pro jeden nebo více souborů, které tvoří váš model. Kromě obsahu samotného souboru modelu registrovaný model ukládá také metadata modelu, včetně popisu modelu, značek a informací o architektuře, což je užitečné při správě a nasazování modelu v pracovním prostoru. Pomocí značek můžete například kategorizovat modely a použít filtry při výpisu modelů v pracovním prostoru. Po registraci si pak můžete stáhnout nebo nasadit zaregistrovaný model a získat všechny zaregistrované soubory a metadata.
Následující ukázka ukazuje, jak zaregistrovat model se značkami a popisem.
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)
Úplná ukázka je k dispozici na https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local-advanced.ipynb
Následující ukázka ukazuje, jak zaregistrovat model určující architekturu, vstupní a výstupní datové sady a konfiguraci prostředků.
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)
Oddíl Variables (Proměnné) obsahuje seznam atributů místního vyjádření objektu cloudového modelu. Tyto proměnné by se měly považovat za jen pro čtení. Změna jejich hodnot se neprojeví v odpovídajícím cloudovém objektu.
Proměnné
- created_by
- dict
Uživatel, který vytvořil model.
- created_time
- datetime
Kdy byl model vytvořen.
- azureml.core.Model.description
Popis objektu Model.
- azureml.core.Model.id
ID modelu. Má podobu <názvu> modelu:<verze> modelu.
- mime_type
- str
Typ MIME Model.
- azureml.core.Model.name
Název modelu.
- model_framework
- str
Architektura modelu.
- model_framework_version
- str
Verze architektury modelu.
- azureml.core.Model.tags
Slovník značek pro objekt Model.
- azureml.core.Model.properties
Slovník vlastností klíčové hodnoty pro model. Tyto vlastnosti nelze po registraci změnit, je však možné přidat nové páry hodnot klíčů.
- unpack
- bool
Určuje, jestli se model musí rozbalit (netarredovat) při přetažení do místního kontextu.
- url
- str
Umístění adresy URL modelu.
- azureml.core.Model.version
Verze modelu.
- azureml.core.Model.workspace
Pracovní prostor obsahující model.
- azureml.core.Model.experiment_name
Název experimentu, který vytvořil model.
- azureml.core.Model.run_id
ID spuštění, které vytvořilo model.
- parent_id
- str
ID nadřazeného modelu modelu.
- resource_configuration
- ResourceConfiguration
ResourceConfiguration pro tento model. Používá se k profilaci.
Metody
add_dataset_references |
Přidružte poskytnuté datové sady k tomuto modelu. |
add_properties |
Přidejte páry klíčových hodnot do slovníku vlastností tohoto modelu. |
add_tags |
Přidejte páry klíčových hodnot do slovníku značek tohoto modelu. |
delete |
Odstraňte tento model z přidruženého pracovního prostoru. |
deploy |
Nasaďte webovou službu z nuly nebo více Model objektů. Výsledná webová služba je koncový bod v reálném čase, který lze použít pro žádosti o odvozování. Funkce Model |
deserialize |
Převede objekt JSON na objekt modelu. Převod selže, pokud zadaný pracovní prostor není pracovním prostorem, ve který je model zaregistrovaný. |
download |
Stáhněte model do cílového adresáře místního systému souborů. |
get_model_path |
Vraťte cestu k modelu. Funkce vyhledá model v následujících umístěních. Pokud
Pokud
|
get_sas_urls |
Vrátí slovník párů klíč-hodnota obsahující názvy souborů a odpovídající adresy URL SAS. |
list |
Načtěte seznam všech modelů přidružených k zadanému pracovnímu prostoru s volitelnými filtry. |
package |
Vytvořte balíček modelu ve formě image Dockeru nebo kontextu sestavení Souboru Dockeru. |
print_configuration |
Vytiskněte konfiguraci uživatele. |
profile |
Profiluje model, aby získal doporučení k požadavkům na prostředky. Jedná se o dlouhotrvající operaci, která může v závislosti na velikosti datové sady trvat až 25 minut. |
register |
Zaregistrujte model v poskytnutém pracovním prostoru. |
remove_tags |
Odeberte zadané klíče ze slovníku značek tohoto modelu. |
serialize |
Převeďte tento model na serializovaný slovník JSON. |
update |
Proveďte místní aktualizaci modelu. Stávající hodnoty zadaných parametrů se nahradí. |
update_tags_properties |
Proveďte aktualizaci značek a vlastností modelu. |
add_dataset_references
Přidružte poskytnuté datové sady k tomuto modelu.
add_dataset_references(datasets)
Parametry
- datasets
- list[tuple(<xref:str :> (Dataset nebo DatasetSnapshot))]
Seznam kolekcí členů představujících párování účelu datové sady s objektem Dataset.
Výjimky
add_properties
Přidejte páry klíčových hodnot do slovníku vlastností tohoto modelu.
add_properties(properties)
Parametry
Výjimky
add_tags
Přidejte páry klíčových hodnot do slovníku značek tohoto modelu.
add_tags(tags)
Parametry
Výjimky
delete
deploy
Nasaďte webovou službu z nuly nebo více Model objektů.
Výsledná webová služba je koncový bod v reálném čase, který lze použít pro žádosti o odvozování. Funkce Model deploy
je podobná deploy
funkci Webservice třídy, ale neregistruje modely. Pokud máte objekty modelu, které jsou už zaregistrované, použijte funkci Model deploy
.
static deploy(workspace, name, models, inference_config=None, deployment_config=None, deployment_target=None, overwrite=False, show_output=False)
Parametry
- workspace
- Workspace
Objekt Pracovního prostoru, ke které chcete přidružit webovou službu.
- name
- str
Název, který má dát nasazené službě. Musí být pro pracovní prostor jedinečný, musí obsahovat pouze malá písmena, číslice nebo pomlčky, začínat písmenem a musí mít délku 3 až 32 znaků.
- inference_config
- InferenceConfig
Objekt InferenceConfig sloužící k určení požadovaných vlastností modelu.
- deployment_config
- WebserviceDeploymentConfiguration
WebserviceDeploymentConfiguration použitá ke konfiguraci webové služby. Pokud není k dispozici, použije se prázdný objekt konfigurace na základě požadovaného cíle.
- deployment_target
- ComputeTarget
A ComputeTarget , do které chcete webovou službu nasadit. Vzhledem k tomu, že Azure Container Instances nemá přidružený ComputeTargetžádný parametr , nechejte tento parametr pro nasazení do Azure Container Instances na hodnotě None.
- overwrite
- bool
Určuje, zda se má přepsat existující služba, pokud již existuje služba se zadaným názvem.
Návraty
Objekt webové služby odpovídající nasazené webové službě.
Návratový typ
Výjimky
deserialize
Převede objekt JSON na objekt modelu.
Převod selže, pokud zadaný pracovní prostor není pracovním prostorem, ve který je model zaregistrovaný.
static deserialize(workspace, model_payload)
Parametry
Návraty
Reprezentace modelu poskytnutého objektu JSON.
Návratový typ
Výjimky
download
Stáhněte model do cílového adresáře místního systému souborů.
download(target_dir='.', exist_ok=False, exists_ok=None)
Parametry
- target_dir
- str
Cesta k adresáři, do kterého chcete stáhnout model. Výchozí hodnota je "."
- exist_ok
- bool
Určuje, jestli se mají nahradit stažené adresáře nebo soubory, pokud existují. Výchozí hodnota je False.
Návraty
Cesta k souboru nebo složce modelu.
Návratový typ
Výjimky
get_model_path
Vraťte cestu k modelu.
Funkce vyhledá model v následujících umístěních.
Pokud version
je None (Žádné):
- Stažení ze vzdáleného umístění do mezipaměti (pokud je k dispozici pracovní prostor)
- Načtení z mezipaměti azureml-models/$MODEL_NAME/$LATEST_VERSION/
- ./$MODEL_NAME
Pokud version
není žádná:
- Načtení z mezipaměti azureml-models/$MODEL_NAME/$SPECIFIED_VERSION/
- Stažení ze vzdáleného umístění do mezipaměti (pokud je k dispozici pracovní prostor)
static get_model_path(model_name, version=None, _workspace=None)
Parametry
- version
- int
Verze modelu, který se má načíst. Výchozí hodnota je nejnovější verze.
- _workspace
- Workspace
Pracovní prostor, ze který chcete načíst model. Nejde používat vzdáleně. Pokud není zadáno, prohledá se pouze místní mezipaměť.
Návraty
Cesta k modelu na disku.
Návratový typ
Výjimky
get_sas_urls
Vrátí slovník párů klíč-hodnota obsahující názvy souborů a odpovídající adresy URL SAS.
get_sas_urls()
Návraty
Slovník dvojic klíč-hodnota obsahující názvy souborů a odpovídající adresy URL SAS
Návratový typ
Výjimky
list
Načtěte seznam všech modelů přidružených k zadanému pracovnímu prostoru s volitelnými filtry.
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)
Parametry
- name
- str
Pokud je k dispozici, vrátí pouze modely se zadaným názvem, pokud existuje.
- tags
- list
Bude filtrovat podle zadaného seznamu podle klíče nebo [klíč, hodnota]. Například ['klíč', ['klíč2', 'hodnota klíče2']]
- properties
- list
Bude filtrovat podle zadaného seznamu podle klíče nebo [klíč, hodnota]. Například ['klíč', ['klíč2', 'hodnota klíče2']]
- expand
- bool
Pokud je true, vrátí modely se všemi dílčími vlastnostmi vyplněnými, například spuštěním, datovou sadou a experimentem. Nastavení této hodnoty na hodnotu false by mělo urychlit dokončování metody list() v případě mnoha modelů.
- page_count
- int
Počet položek, které se mají na stránce načíst. V současné době podporují hodnoty až 255. Výchozí hodnota je 255.
- model_framework
- str
Pokud je k dispozici, vrátí pouze modely se zadanou architekturou, pokud existuje.
Návraty
Seznam modelů, volitelně filtrovaných.
Návratový typ
Výjimky
package
Vytvořte balíček modelu ve formě image Dockeru nebo kontextu sestavení Souboru Dockeru.
static package(workspace, models, inference_config=None, generate_dockerfile=False, image_name=None, image_label=None)
Parametry
Seznam objektů modelu, které se mají zahrnout do balíčku. Může to být prázdný seznam.
- inference_config
- InferenceConfig
Objekt InferenceConfig pro konfiguraci operace modelů. To musí zahrnovat objekt prostředí.
- generate_dockerfile
- bool
Jestli chcete vytvořit soubor Dockerfile, který se dá spustit místně místo vytváření image.
Návraty
Objekt ModelPackage.
Návratový typ
Výjimky
print_configuration
Vytiskněte konfiguraci uživatele.
static print_configuration(models, inference_config, deployment_config, deployment_target)
Parametry
- inference_config
- InferenceConfig
Objekt InferenceConfig sloužící k určení požadovaných vlastností modelu.
- deployment_config
- WebserviceDeploymentConfiguration
WebserviceDeploymentConfiguration použitá ke konfiguraci webové služby.
- deployment_target
- ComputeTarget
A ComputeTarget , do které chcete webovou službu nasadit.
Výjimky
profile
Profiluje model, aby získal doporučení k požadavkům na prostředky.
Jedná se o dlouhotrvající operaci, která může v závislosti na velikosti datové sady trvat až 25 minut.
static profile(workspace, profile_name, models, inference_config, input_dataset, cpu=None, memory_in_gb=None, description=None)
Parametry
- inference_config
- InferenceConfig
Objekt InferenceConfig sloužící k určení požadovaných vlastností modelu.
- input_dataset
- Dataset
Vstupní datová sada pro profilaci Vstupní datová sada by měla mít jeden sloupec a ukázkové vstupy by měly být ve formátu řetězce.
- cpu
- float
Počet jader procesoru, která se mají použít v největší testovací instanci. V současné době podporují hodnoty až 3,5.
- memory_in_gb
- float
Velikost paměti (v GB), která se má použít v největší testovací instanci. Může to být desetinná čárka. V současné době podporují hodnoty až 15,0.
Návratový typ
Výjimky
register
Zaregistrujte model v poskytnutém pracovním prostoru.
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)
Parametry
- model_path
- str
Cesta v místním systému souborů, kde se nacházejí prostředky modelu. Může to být přímý ukazatel na jeden soubor nebo složku. Pokud odkazuje na složku, child_paths
parametr lze použít k určení jednotlivých souborů, které se mají spojit dohromady jako objekt Model, namísto použití celého obsahu složky.
- tags
- dict(<xref:{str : str}>)
Volitelný slovník značek klíčových hodnot, které se přiřazují k modelu.
- properties
- dict(<xref:{str : str}>)
Volitelný slovník vlastností klíčové hodnoty, které se přiřazují k modelu. Tyto vlastnosti nelze po vytvoření modelu změnit, ale je možné přidat nové páry klíčových hodnot.
- datasets
- list[(str, AbstractDataset)]
Seznam kolekcí členů, kde první prvek popisuje vztah datové sady a modelu a druhý prvek je datová sada.
- model_framework
- str
Architektura registrovaného modelu. Použití konstant podporovaných systémem z Framework třídy umožňuje zjednodušené nasazení pro některé oblíbené architektury.
Pokud je k dispozici ve spojení se model_path
složkou, budou do objektu Model sbalené pouze zadané soubory.
- sample_input_dataset
- AbstractDataset
Ukázková vstupní datová sada pro registrovaný model
- sample_output_dataset
- AbstractDataset
Ukázková výstupní datová sada pro zaregistrovaný model
- resource_configuration
- ResourceConfiguration
Konfigurace prostředku pro spuštění registrovaného modelu.
Návraty
Zaregistrovaný objekt modelu.
Návratový typ
Výjimky
Poznámky
Kromě obsahu samotného souboru modelu ukládá registrovaný model také metadata modelu, včetně popisu modelu, značek a informací o architektuře, které jsou užitečné při správě a nasazování modelu v pracovním prostoru. Pomocí značek můžete například kategorizovat modely a použít filtry při výpisu modelů v pracovním prostoru.
Následující ukázka ukazuje, jak zaregistrovat model určující značky a popis.
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)
Úplná ukázka je k dispozici od https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local-advanced.ipynb
Pokud máte model vytvořený jako výsledek spuštění experimentu, můžete ho zaregistrovat přímo ze spuštěného objektu, aniž byste ho nejprve stáhli do místního souboru. Chcete-li to provést, použijte metodu register_model , jak je popsáno ve Run třídě.
remove_tags
Odeberte zadané klíče ze slovníku značek tohoto modelu.
remove_tags(tags)
Parametry
Výjimky
serialize
Převeďte tento model na serializovaný slovník JSON.
serialize()
Návraty
Reprezentace json tohoto modelu
Návratový typ
Výjimky
update
Proveďte místní aktualizaci modelu.
Stávající hodnoty zadaných parametrů se nahradí.
update(tags=None, description=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None)
Parametry
- tags
- dict(<xref:{str : str}>)
Slovník značek, pomocí které se má model aktualizovat. Tyto značky nahrazují existující značky modelu.
- description
- str
Nový popis, který se má použít pro model. Tento název nahrazuje existující název.
- sample_input_dataset
- AbstractDataset
Ukázková vstupní datová sada, která se má použít pro zaregistrovaný model. Tato ukázková vstupní datová sada nahrazuje existující datovou sadu.
- sample_output_dataset
- AbstractDataset
Ukázková výstupní datová sada, která se má použít pro zaregistrovaný model. Tato ukázková výstupní datová sada nahrazuje existující datovou sadu.
- resource_configuration
- ResourceConfiguration
Konfigurace prostředků, která se má použít ke spuštění registrovaného modelu.
Výjimky
update_tags_properties
Proveďte aktualizaci značek a vlastností modelu.
update_tags_properties(add_tags=None, remove_tags=None, add_properties=None)
Parametry
- add_properties
- dict(<xref:{str : str}>)
Slovník vlastností, které chcete přidat.
Výjimky
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro