Module Třída
Představuje výpočetní jednotku použitou v kanálu Azure Machine Learning.
Modul je kolekce souborů, které se budou spouštět na cílovém výpočetním objektu a popis rozhraní. Kolekce souborů může být skript, binární soubory nebo jakékoli jiné soubory potřebné ke spuštění v cílovém výpočetním objektu. Rozhraní modulu popisuje vstupy, výstupy a definice parametrů. Neváže je na konkrétní hodnoty nebo data. K modulu je přidružený snímek, který zachycuje kolekci souborů definovaných pro daný modul.
Inicializace modulu
Konstruktor
Module(workspace, module_id, name, description, status, default_version, module_version_list, _module_provider=None, _module_version_provider=None)
Parametry
| Name | Description |
|---|---|
|
workspace
Vyžadováno
|
Objekt pracovního prostoru, do který tento modul patří. |
|
module_id
Vyžadováno
|
ID modulu. |
|
name
Vyžadováno
|
Název modulu. |
|
description
Vyžadováno
|
Popis modulu. |
|
status
Vyžadováno
|
Nový stav modulu: Aktivní, Zastaralá nebo Zakázaná. |
|
default_version
Vyžadováno
|
Výchozí verze modulu. |
|
module_version_list
Vyžadováno
|
Seznam ModuleVersionDescriptor objektů. |
|
_module_provider
|
<xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>
(Pouze interní použití.) Poskytovatel modulu. Default value: None
|
|
_module_version_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
(Pouze interní použití.) Zprostředkovatel ModuleVersion. Default value: None
|
|
workspace
Vyžadováno
|
Objekt pracovního prostoru, do který tento modul patří. |
|
module_id
Vyžadováno
|
ID modulu. |
|
name
Vyžadováno
|
Název modulu. |
|
description
Vyžadováno
|
Popis modulu. |
|
status
Vyžadováno
|
Nový stav modulu: Aktivní, Zastaralá nebo Zakázaná. |
|
default_version
Vyžadováno
|
Výchozí verze modulu. |
|
module_version_list
Vyžadováno
|
Seznam ModuleVersionDescriptor objektů. |
|
_module_provider
Vyžadováno
|
<xref:<xref:_AevaMlModuleProvider object>>
Poskytovatel modulu. |
|
_module_version_provider
Vyžadováno
|
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
Zprostředkovatel ModuleVersion. |
Poznámky
Modul funguje jako kontejner svých verzí. V následujícím příkladu je moduleVersion vytvořen z publish_python_script metody a má dva vstupy a dva výstupy. Create ModuleVersion je výchozí verze (is_default je nastavená na Hodnotu True).
out_sum = OutputPortDef(name="out_sum", default_datastore_name=datastore.name, default_datastore_mode="mount",
label="Sum of two numbers")
out_prod = OutputPortDef(name="out_prod", default_datastore_name=datastore.name, default_datastore_mode="mount",
label="Product of two numbers")
entry_version = module.publish_python_script("calculate.py", "initial",
inputs=[], outputs=[out_sum, out_prod], params = {"initialNum":12},
version="1", source_directory="./calc")
Úplná ukázka je k dispozici od https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb
Tento modul lze použít při definování kanálu v různých krocích pomocí .ModuleStep
Následující ukázka ukazuje, jak připojit data použitá v kanálu ke vstupům a výstupům ModuluVersion pomocí PipelineData:
middle_step_input_wiring = {"in1":first_sum, "in2":first_prod}
middle_sum = PipelineData("middle_sum", datastore=datastore, output_mode="mount",is_directory=False)
middle_prod = PipelineData("middle_prod", datastore=datastore, output_mode="mount",is_directory=False)
middle_step_output_wiring = {"out_sum":middle_sum, "out_prod":middle_prod}
Úplná ukázka je k dispozici od https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb
Mapování se pak dá použít při vytváření modulu ModuleStep:
middle_step = ModuleStep(module=module,
inputs_map= middle_step_input_wiring,
outputs_map= middle_step_output_wiring,
runconfig=RunConfiguration(), compute_target=aml_compute,
arguments = ["--file_num1", first_sum, "--file_num2", first_prod,
"--output_sum", middle_sum, "--output_product", middle_prod])
Úplná ukázka je k dispozici od https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb
Řešení, které verze modulu se má použít při odeslání, a postupuje následovně:
- Odebrání všech zakázaných verzí
- Pokud byla uvedena konkrétní verze, použijte ji, jinak
- Pokud byla pro modul definována výchozí verze, použijte ji, jinak
- Pokud všechny verze sledují sémantickou správu verzí bez písmen, použijte nejvyšší hodnotu, jinak
- Převezměte verzi modulu, která byla naposledy aktualizována.
Všimněte si, že vzhledem k tomu, že vstupy a výstupy uzlu, které se mapují na vstup a výstup modulu, je definováno při vytváření kanálu, pokud má přeložená verze při odeslání jiné rozhraní než ta, která je vyřešena při vytvoření kanálu, odeslání kanálu selže.
Základní modul je možné aktualizovat o nové verze a zároveň zachovat stejnou výchozí verzi.
Moduly mají jedinečný název v rámci pracovního prostoru.
Metody
| create |
Vytvořte modul. |
| deprecate |
Nastavte modul na Zastaralé. |
| disable |
Nastavte modul na Zakázáno. |
| enable |
Nastavte modul na Aktivní. |
| get |
Získání modulu podle názvu nebo podle ID; vyvolá výjimku, pokud není k dispozici. |
| get_default |
Získejte výchozí verzi modulu. |
| get_default_version |
Získejte výchozí verzi modulu. |
| get_versions |
Získejte všechny verze modulu. |
| module_def_builder |
Vytvořte objekt definice modulu, který popisuje krok. |
| module_version_list |
Získejte seznam verzí modulu. |
| process_source_directory |
Zpracujte zdrojový adresář kroku a zkontrolujte, jestli skript existuje. |
| publish |
Vytvořte ModuleVersion a přidejte ho do aktuálního modulu. |
| publish_adla_script |
Vytvořte ModuleVersion na základě Azure Data Lake Analytics (ADLA) a přidejte ho do aktuálního modulu. |
| publish_azure_batch |
Vytvořte ModuleVersion, který používá Azure Batch, a přidejte ho do aktuálního modulu. |
| publish_python_script |
Vytvořte ModuleVersion, který je založený na skriptu Pythonu, a přidejte ho do aktuálního modulu. |
| resolve |
Vyřešte a vraťte správný ModuleVersion. |
| set_default_version |
Nastavte výchozí ModuleVersion modulu. |
| set_description |
Nastavte popis modulu. |
| set_name |
Nastavte název modulu. |
create
Vytvořte modul.
static create(workspace, name, description, _workflow_provider=None)
Parametry
| Name | Description |
|---|---|
|
workspace
Vyžadováno
|
Pracovní prostor, ve kterém se má modul vytvořit. |
|
name
Vyžadováno
|
Název modulu. |
|
description
Vyžadováno
|
Popis modulu. |
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Pouze interní použití.) Zprostředkovatel pracovního postupu. Default value: None
|
Návraty
| Typ | Description |
|---|---|
|
Objekt modulu |
deprecate
Nastavte modul na Zastaralé.
deprecate()
disable
Nastavte modul na Zakázáno.
disable()
enable
Nastavte modul na Aktivní.
enable()
get
Získání modulu podle názvu nebo podle ID; vyvolá výjimku, pokud není k dispozici.
static get(workspace, module_id=None, name=None, _workflow_provider=None)
Parametry
| Name | Description |
|---|---|
|
workspace
Vyžadováno
|
Pracovní prostor, ve kterém se má modul vytvořit. |
|
module_id
|
ID modulu. Default value: None
|
|
name
|
Název modulu. Default value: None
|
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Pouze interní použití.) Zprostředkovatel pracovního postupu. Default value: None
|
Návraty
| Typ | Description |
|---|---|
|
Objekt modulu |
get_default
Získejte výchozí verzi modulu.
get_default()
Návraty
| Typ | Description |
|---|---|
|
Výchozí verze modulu. |
get_default_version
Získejte výchozí verzi modulu.
get_default_version()
Návraty
| Typ | Description |
|---|---|
|
Výchozí verze modulu. |
get_versions
Získejte všechny verze modulu.
static get_versions(workspace, name, _workflow_provider=None)
Parametry
| Name | Description |
|---|---|
|
workspace
Vyžadováno
|
Pracovní prostor, na který byl modul vytvořen. |
|
name
Vyžadováno
|
Název modulu. |
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Pouze interní použití.) Zprostředkovatel pracovního postupu. Default value: None
|
Návraty
| Typ | Description |
|---|---|
|
Seznam ModuleVersionDescriptor |
module_def_builder
Vytvořte objekt definice modulu, který popisuje krok.
static module_def_builder(name, description, execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, module_type=None, step_type=None, arguments=None, runconfig=None, cloud_settings=None)
Parametry
| Name | Description |
|---|---|
|
name
Vyžadováno
|
Název modulu. |
|
description
Vyžadováno
|
Popis modulu. |
|
execution_type
Vyžadováno
|
Typ spuštění modulu. |
|
input_bindings
Vyžadováno
|
Vstupní vazby modulu. |
|
output_bindings
Vyžadováno
|
Výstupní vazby modulu. |
|
param_defs
|
Definice parametrů modulu. Default value: None
|
|
create_sequencing_ports
|
Určuje, jestli se pro modul vytvoří sekvencování portů. Default value: True
|
|
allow_reuse
|
Určuje, jestli bude modul dostupný k opětovnému použití. Default value: True
|
|
version
|
Verze modulu. Default value: None
|
|
module_type
|
Typ modulu. Default value: None
|
|
step_type
|
Typ kroku přidruženého k tomuto modulu, např. PythonScriptStep, HyperDriveStep atd. Default value: None
|
|
arguments
|
Seznam argumentů s poznámkami, který se má použít při volání tohoto modulu Default value: None
|
|
runconfig
|
Runconfig, který se použije pro python_script_step Default value: None
|
|
cloud_settings
|
Nastavení, která se použijí pro cloudy Default value: None
|
Návraty
| Typ | Description |
|---|---|
|
Modul def objekt. |
Výjimky
| Typ | Description |
|---|---|
module_version_list
Získejte seznam verzí modulu.
module_version_list()
Návraty
| Typ | Description |
|---|---|
|
Seznam ModuleVersionDescriptor |
process_source_directory
Zpracujte zdrojový adresář kroku a zkontrolujte, jestli skript existuje.
static process_source_directory(name, source_directory, script_name)
Parametry
| Name | Description |
|---|---|
|
name
Vyžadováno
|
Název kroku. |
|
source_directory
Vyžadováno
|
Zdrojový adresář kroku. |
|
script_name
Vyžadováno
|
Název skriptu pro krok. |
Návraty
| Typ | Description |
|---|---|
|
Zdrojový adresář a cesty hash. |
Výjimky
| Typ | Description |
|---|---|
publish
Vytvořte ModuleVersion a přidejte ho do aktuálního modulu.
publish(description, execution_type, inputs, outputs, param_defs=None, create_sequencing_ports=True, version=None, is_default=False, content_path=None, hash_paths=None, category=None, arguments=None, runconfig=None)
Parametry
| Name | Description |
|---|---|
|
description
Vyžadováno
|
Popis modulu. |
|
execution_type
Vyžadováno
|
Typ spuštění modulu.
Přijatelné hodnoty jsou |
|
inputs
Vyžadováno
|
Vstupy modulu. |
|
outputs
Vyžadováno
|
Výstupy modulu. |
|
param_defs
|
Definice parametrů modulu. Default value: None
|
|
create_sequencing_ports
|
Určuje, jestli se pro modul vytvoří sekvencování portů. Default value: True
|
|
version
|
Verze modulu. Default value: None
|
|
is_default
|
Určuje, zda publikovaná verze má být výchozí verzí. Default value: False
|
|
content_path
|
adresář Default value: None
|
|
hash_paths
|
Seznam cest k hodnotě hash při kontrole změn v obsahu kroku. Pokud se nezjistí žádné změny, kanál znovu použije obsah kroku z předchozího spuštění. Ve výchozím nastavení se obsah Default value: None
|
|
category
|
Kategorie verze modulu Default value: None
|
|
arguments
|
Argumenty, které se mají použít při volání modulu. Argumenty můžou být řetězce, vstupní odkazy (InputPortDef), výstupní odkazy (OutputPortDef) a parametry kanálu (PipelineParameter). Default value: None
|
|
runconfig
|
Volitelná runConfiguration. RunConfiguration lze použít k určení dalších požadavků na spuštění, jako jsou závislosti conda a image Dockeru. Default value: None
|
Návraty
| Typ | Description |
|---|---|
Výjimky
| Typ | Description |
|---|---|
publish_adla_script
Vytvořte ModuleVersion na základě Azure Data Lake Analytics (ADLA) a přidejte ho do aktuálního modulu.
publish_adla_script(script_name, description, inputs, outputs, params=None, create_sequencing_ports=True, degree_of_parallelism=None, priority=None, runtime_version=None, compute_target=None, version=None, is_default=False, source_directory=None, hash_paths=None, category=None, arguments=None)
Parametry
| Name | Description |
|---|---|
|
script_name
Vyžadováno
|
Název skriptu ADLA vzhledem k |
|
description
Vyžadováno
|
Popis verze modulu. |
|
inputs
Vyžadováno
|
Vstupní vazby modulu. |
|
outputs
Vyžadováno
|
Výstupní vazby modulu. |
|
params
|
ModulVersion params, jako name-default_value páry. Default value: None
|
|
create_sequencing_ports
|
Určuje, jestli se pro modul vytvoří sekvencování portů. Default value: True
|
|
degree_of_parallelism
|
Stupeň paralelismu, který se má pro tuto úlohu použít. Default value: None
|
|
priority
|
Hodnota priority, kterou chcete použít pro aktuální úlohu. Default value: None
|
|
runtime_version
|
Verze modulu runtime modulu Azure Data Lake Analytics (ADLA). Default value: None
|
|
compute_target
|
Výpočet ADLA, který se má použít pro tuto úlohu. Default value: None
|
|
version
|
Verze modulu. Default value: None
|
|
is_default
|
Určuje, zda publikovaná verze má být výchozí verzí. Default value: False
|
|
source_directory
|
adresář Default value: None
|
|
hash_paths
|
hash_paths Default value: None
|
|
category
|
Kategorie verze modulu Default value: None
|
|
arguments
|
Argumenty, které se mají použít při volání modulu. Argumenty můžou být řetězce, vstupní odkazy (InputPortDef), výstupní odkazy (OutputPortDef) a parametry kanálu (PipelineParameter). Default value: None
|
Návraty
| Typ | Description |
|---|---|
publish_azure_batch
Vytvořte ModuleVersion, který používá Azure Batch, a přidejte ho do aktuálního modulu.
publish_azure_batch(description, compute_target, inputs, outputs, params=None, create_sequencing_ports=True, version=None, is_default=False, create_pool=False, pool_id=None, delete_batch_job_after_finish=False, delete_batch_pool_after_finish=False, is_positive_exit_code_failure=True, vm_image_urn='urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter', run_task_as_admin=False, target_compute_nodes=1, vm_size='standard_d1_v2', executable=None, source_directory=None, category=None, arguments=None)
Parametry
| Name | Description |
|---|---|
|
description
Vyžadováno
|
Popis verze modulu. |
|
compute_target
Vyžadováno
|
BatchCompute nebo
str
Cílový výpočetní objekt BatchCompute. |
|
inputs
Vyžadováno
|
Vstupní vazby modulu. |
|
outputs
Vyžadováno
|
Výstupní vazby modulu. |
|
params
|
ModulVersion params, jako name-default_value páry. Default value: None
|
|
create_sequencing_ports
|
Určuje, jestli se pro modul vytvoří sekvencování portů. Default value: True
|
|
version
|
Verze modulu. Default value: None
|
|
is_default
|
Určuje, zda publikovaná verze má být výchozí verzí. Default value: False
|
|
create_pool
|
Určuje, jestli se má fond vytvořit před spuštěním úloh. Default value: False
|
|
pool_id
|
(Povinné) ID fondu, ve kterém bude úloha spuštěna. Default value: None
|
|
delete_batch_job_after_finish
|
Určuje, jestli se má úloha po dokončení odstranit z účtu Batch. Default value: False
|
|
delete_batch_pool_after_finish
|
Určuje, jestli se má fond po dokončení úlohy odstranit. Default value: False
|
|
is_positive_exit_code_failure
|
Označuje, jestli úloha selže, pokud úkol existuje s pozitivním kódem. Default value: True
|
|
vm_image_urn
|
Pokud Default value: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter
|
|
run_task_as_admin
|
Určuje, jestli má úloha běžet s oprávněními správce. Default value: False
|
|
target_compute_nodes
|
Pokud Default value: 1
|
|
vm_size
|
Pokud Default value: standard_d1_v2
|
|
executable
|
Název příkazu nebo spustitelného souboru, který se spustí jako součást úlohy. Default value: None
|
|
source_directory
|
Zdrojový adresář. Default value: None
|
|
category
|
Kategorie verze modulu Default value: None
|
|
arguments
|
Argumenty, které se mají použít při volání modulu. Argumenty můžou být řetězce, vstupní odkazy (InputPortDef), výstupní odkazy (OutputPortDef) a parametry kanálu (PipelineParameter). Default value: None
|
Návraty
| Typ | Description |
|---|---|
Výjimky
| Typ | Description |
|---|---|
publish_python_script
Vytvořte ModuleVersion, který je založený na skriptu Pythonu, a přidejte ho do aktuálního modulu.
publish_python_script(script_name, description, inputs, outputs, params=None, create_sequencing_ports=True, version=None, is_default=False, source_directory=None, hash_paths=None, category=None, arguments=None, runconfig=None)
Parametry
| Name | Description |
|---|---|
|
script_name
Vyžadováno
|
Název skriptu Pythonu vzhledem k |
|
description
Vyžadováno
|
Popis verze modulu. |
|
inputs
Vyžadováno
|
Vstupní vazby modulu. |
|
outputs
Vyžadováno
|
Výstupní vazby modulu. |
|
params
|
ModulVersion params, jako name-default_value páry. Default value: None
|
|
create_sequencing_ports
|
Určuje, jestli se pro modul vytvoří sekvencování portů. Default value: True
|
|
version
|
Verze modulu. Default value: None
|
|
is_default
|
Určuje, zda publikovaná verze má být výchozí verzí. Default value: False
|
|
source_directory
|
adresář Default value: None
|
|
hash_paths
|
Seznam cest k hodnotě hash při kontrole změn v obsahu kroku. Pokud se nezjistí žádné změny, kanál znovu použije obsah kroku z předchozího spuštění. Ve výchozím nastavení se obsah Default value: None
|
|
category
|
Kategorie verze modulu Default value: None
|
|
arguments
|
Argumenty, které se mají použít při volání modulu. Argumenty můžou být řetězce, vstupní odkazy (InputPortDef), výstupní odkazy (OutputPortDef) a parametry kanálu (PipelineParameter). Default value: None
|
|
runconfig
|
Volitelná runConfiguration. RunConfiguration lze použít k určení dalších požadavků na spuštění, jako jsou závislosti conda a image Dockeru. Default value: None
|
Návraty
| Typ | Description |
|---|---|
resolve
Vyřešte a vraťte správný ModuleVersion.
resolve(version=None)
Parametry
| Name | Description |
|---|---|
|
version
|
Default value: None
|
Návraty
| Typ | Description |
|---|---|
|
Verze modulu, která se má použít. |