Model Třída
Představuje výsledek trénování strojového učení.
Model je výsledkem trénování Run Služby Azure Machine Learning nebo jiného procesu trénování modelu mimo Azure. Model je možné zaregistrovat v pracovním prostoru, kde je reprezentován názvem a verzí, bez ohledu na to, jak je model vytvořen. 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 ukazující, jak se modely vytvářejí, spravují a využívají, najdete v tématech trénování modelu klasifikace obrázků pomocí dat MNIST a scikit-learn pomocí služby Azure Machine Learning.
Konstruktor modelu.
Konstruktor Modelu slouží 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. Vrátí se nejnovější model se zadaným názvem, pokud existuje.
- 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 hodnoty [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 hodnoty [klíč, hodnota]. Například ['klíč', ['klíč2', 'hodnota klíče2']]
- version
- int
Verze modelu, která se má vrátit. Pokud je zadaný společně s parametrem name
, vrátí se konkrétní verze zadaného pojmenovaného modelu, pokud existuje. Pokud version
je vynechán, vrátí se poslední verze modelu.
- model_framework
- str
Volitelný název architektury použitý k filtrování vrácených výsledků. Pokud je zadaný, vrátí se výsledky pro modely odpovídající zadané architektuře. Povolené hodnoty najdete v tématu Framework .
- name
- str
Název modelu, který se má načíst. Vrátí se nejnovější model se zadaným názvem, 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 hodnoty [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 hodnoty [klíč, hodnota]. Například ['klíč', ['klíč2', 'hodnota klíče2']]
- version
- int
Verze modelu, která se má vrátit. Pokud je zadaný společně s parametrem name
, vrátí se konkrétní verze zadaného pojmenovaného modelu, pokud existuje. Pokud version
je vynechán, vrátí se poslední verze modelu.
- model_framework
- str
Volitelný název architektury použitý k filtrování vrácených výsledků. Pokud je zadaný, vrátí se výsledky pro modely odpovídající zadané architektuře. Povolené hodnoty 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 Modelu se používá 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)
Registrace modelu vytvoří logický kontejner pro jeden nebo více souborů, které tvoří váš model. 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. 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 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
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)
V části Variables (Proměnné ) jsou uvedeny atributy místní reprezentace objektu cloudového modelu. Tyto proměnné by měly být považovány 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ý model vytvořil.
- 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 Modelu.
- 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 je potřeba model rozbalit (zrušit) 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 hodnot klíčů do slovníku vlastností tohoto modelu. |
add_tags |
Přidejte páry hodnot klíčů do slovníku značek tohoto modelu. |
delete |
Odstraňte tento model z jeho 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 se nezdaří, pokud zadaný pracovní prostor není pracovním prostorem, se kterým 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č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í Dockerfile. |
print_configuration |
Vytiskněte konfiguraci uživatele. |
profile |
Profiluje model a získá 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 řazených kolekcí členů představující dvojici účelu datové sady a objektu Dataset.
Výjimky
add_properties
Přidejte páry hodnot klíčů do slovníku vlastností tohoto modelu.
add_properties(properties)
Parametry
Výjimky
add_tags
Přidejte páry hodnot klíčů 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
- name
- str
Název, který má dát nasazené službě. Musí být jedinečné pro pracovní prostor, musí se skládat pouze z malých písmen, číslic nebo pomlček, musí začínat písmenem a musí mít délku 3 až 32 znaků.
- inference_config
- InferenceConfig
InferenceConfig Objekt použitý k určení požadovaných vlastností modelu.
- deployment_config
- WebserviceDeploymentConfiguration
A WebserviceDeploymentConfiguration slouží ke konfiguraci webové služby. Pokud ho nezadáte, použije se prázdný objekt konfigurace na základě požadovaného cíle.
- deployment_target
- ComputeTarget
A ComputeTarget , do které nasadíte webovou službu. Vzhledem k tomu, že Azure Container Instances nemá žádný přidružený ComputeTargetparametr , ponechte tento parametr pro nasazení do Azure Container Instances jako Žádný.
- overwrite
- bool
Určuje, jestli se má přepsat existující služba, pokud již existuje služba se zadaným názvem.
Návraty
Objekt Webservice odpovídající nasazené webové službě.
Návratový typ
Výjimky
deserialize
Převede objekt JSON na objekt modelu.
Převod se nezdaří, pokud zadaný pracovní prostor není pracovním prostorem, se kterým 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, ve kterém 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 hodnota None:
- Stažení ze vzdáleného úložiště 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 úložiště 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. Nelze použít vzdáleně. Pokud není zadaný, 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č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 zadán, vrátí pouze modely se zadaným názvem, pokud existuje.
- tags
- list
Bude filtrovat na základě zadaného seznamu, a to buď podle klíče, nebo podle hodnoty [klíč, hodnota]. Například ['klíč', ['klíč2', 'hodnota klíče2']]
- properties
- list
Bude filtrovat na základě zadaného seznamu, a to buď podle klíče, nebo podle hodnoty [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. Aktuálně 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í Dockerfile.
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 být prázdný seznam.
- inference_config
- InferenceConfig
InferenceConfig Objekt pro konfiguraci operace modelů. Musí obsahovat objekt Prostředí.
- generate_dockerfile
- bool
Jestli chcete vytvořit soubor Dockerfile, který je možné spustit místně místo vytváření image.
Návraty
A ModelPackage objekt.
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
InferenceConfig Objekt použitý k určení požadovaných vlastností modelu.
- deployment_config
- WebserviceDeploymentConfiguration
A WebserviceDeploymentConfiguration slouží ke konfiguraci webové služby.
Výjimky
profile
Profiluje model a získá 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
InferenceConfig Objekt použitý 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 procesorových jader, která se mají použít v největší testovací instanci. Aktuálně 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 být desetinná čárka. Aktuálně 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 se jednat o přímý ukazatel na jeden soubor nebo složku. Při odkazování na složku child_paths
lze parametr použít k určení jednotlivých souborů, které se mají spojit jako objekt Model, mí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í hodnoty klíče, který se má přiřadit k modelu. Tyto vlastnosti nelze po vytvoření modelu změnit, je však možné přidat nové páry hodnot klíčů.
- datasets
- list[(str, AbstractDataset)]
Seznam řazených 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í s do model_path
složky, do objektu Model budou seskupené pouze zadané soubory.
- sample_input_dataset
- AbstractDataset
Ukázková vstupní datová sada pro zaregistrovaný model
- sample_output_dataset
- AbstractDataset
Ukázková výstupní datová sada pro zaregistrovaný model
- resource_configuration
- ResourceConfiguration
Konfigurace prostředků pro spuštění zaregistrovaného modelu.
Návraty
Zaregistrovaný objekt modelu.
Návratový typ
Výjimky
Poznámky
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.
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
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 nejdřív stáhli do místního souboru. K tomu 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 nahradí 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 nahradí 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 nahradí existující datovou sadu.
- resource_configuration
- ResourceConfiguration
Konfigurace prostředku, která se má použít ke spuštění zaregistrované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