Sdílet prostřednictvím


Module Třída

Představuje výpočetní jednotku používanou v kanálu Azure Machine Learning.

Modul je kolekce souborů, které poběží 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í na 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 modul.

Inicializace modulu

Dědičnost
builtins.object
Module

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
str

ID modulu.

name
Vyžadováno
str

Název modulu.

description
Vyžadováno
str

Popis modulu.

status
Vyžadováno
str

Nový stav modulu: Aktivní, Zastaralé nebo Zakázané.

default_version
Vyžadováno
str

Výchozí verze modulu.

module_version_list
Vyžadováno

Seznam ModuleVersionDescriptor objektů.

_module_provider
<xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>

(Pouze pro interní použití.) Poskytovatel modulu.

výchozí hodnota: None
_module_version_provider
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>

(Pouze pro interní použití.) Zprostředkovatel ModuleVersion.

výchozí hodnota: None
workspace
Vyžadováno

Objekt pracovního prostoru, do který tento modul patří.

module_id
Vyžadováno
str

ID modulu.

name
Vyžadováno
str

Název modulu.

description
Vyžadováno
str

Popis modulu.

status
Vyžadováno
str

Nový stav modulu: Aktivní, Zastaralé nebo Zakázané.

default_version
Vyžadováno
str

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 se moduleVersion vytvoří z publish_python_script metody a má dva vstupy a dva výstupy. Výchozí verze create ModuleVersion (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 na webu 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 je možné 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 modulu ModuleVersion 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 na webu 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í ModuluStep:


   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 na webu 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, se provede po odeslání, a následuje následující postup:

  • Odebrat všechny zakázané verze
  • 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 dodržují sémantickou správu verzí bez písmen, použijte nejvyšší hodnotu, jinak
  • Vezměte si verzi modulu, která byla naposledy aktualizována

Všimněte si, že vzhledem k tomu, že je mapování vstupů a výstupů uzlu na vstup a výstup modulu definováno při vytvoření kanálu, pokud má vyřešená verze při odeslání jiné rozhraní než rozhraní, které je vyřešeno při vytvoření kanálu, odeslání kanálu selže.

Základní modul je možné aktualizovat novými verzemi a přitom 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ískejte modul podle názvu nebo 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 verze modulu.

process_source_directory

Zpracujte zdrojový adresář pro krok 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ávnou hodnotu ModuleVersion.

set_default_version

Nastavte výchozí hodnotu 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
str

Název modulu.

description
Vyžadováno
str

Popis modulu.

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

(Pouze pro interní použití.) Poskytovatel pracovního postupu.

výchozí hodnota: 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ískejte modul podle názvu nebo 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
str

ID modulu.

výchozí hodnota: None
name
str

Název modulu.

výchozí hodnota: None
_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

(Pouze pro interní použití.) Poskytovatel pracovního postupu.

výchozí hodnota: 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
str

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, ve které byl modul vytvořen.

name
Vyžadováno
str

Název modulu.

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

(Pouze pro interní použití.) Poskytovatel pracovního postupu.

výchozí hodnota: 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
str

Název modulu.

description
Vyžadováno
str

Popis modulu.

execution_type
Vyžadováno
str

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.

výchozí hodnota: None
create_sequencing_ports

Určuje, jestli se pro modul vytvoří sekvencování portů.

výchozí hodnota: True
allow_reuse

Určuje, jestli bude modul k dispozici k opakovanému použití.

výchozí hodnota: True
version
str

Verze modulu.

výchozí hodnota: None
module_type
str

Typ modulu.

výchozí hodnota: None
step_type
str

Typ kroku přidruženého k tomuto modulu, například PythonScriptStep, HyperDriveStep atd.

výchozí hodnota: None
arguments

Seznam argumentů s poznámkami, který se má použít při volání tohoto modulu

výchozí hodnota: None
runconfig
str

Runconfig, který se použije pro python_script_step

výchozí hodnota: None
cloud_settings
str

Nastavení, která se budou používat pro cloudy

výchozí hodnota: None

Návraty

Typ Description

Objekt Module def.

Výjimky

Typ Description

module_version_list

Získejte seznam verze modulu.

module_version_list()

Návraty

Typ Description

Seznam ModuleVersionDescriptor

process_source_directory

Zpracujte zdrojový adresář pro krok a zkontrolujte, jestli skript existuje.

static process_source_directory(name, source_directory, script_name)

Parametry

Name Description
name
Vyžadováno
str

Název kroku.

source_directory
Vyžadováno
str

Zdrojový adresář pro krok.

script_name
Vyžadováno
str

Název skriptu pro krok.

Návraty

Typ Description

Zdrojový adresář a cesty k hodnotě 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
str

Popis modulu.

execution_type
Vyžadováno
str

Typ spuštění modulu. Přijatelné hodnoty jsou esCloud, adlcloud a AzureBatchCloud

inputs
Vyžadováno

Vstupy Modulu.

outputs
Vyžadováno

Výstup modulu.

param_defs

Definice parametrů modulu.

výchozí hodnota: None
create_sequencing_ports

Určuje, jestli se pro modul vytvoří porty pro sekvencování.

výchozí hodnota: True
version
str

Verze modulu

výchozí hodnota: None
is_default

Určuje, jestli publikovaná verze má být výchozí.

výchozí hodnota: False
content_path
str

adresář

výchozí hodnota: None
hash_paths

Seznam cest k hodnotě hash při kontrole změn 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 objektu source_directory hash (s výjimkou souborů uvedených v souboru .amlignore nebo .gitignore). ZASTARALÉ: Už není potřeba.

výchozí hodnota: None
category
str

Kategorie verze modulu

výchozí hodnota: 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).

výchozí hodnota: None
runconfig

Volitelná konfigurace RunConfiguration. RunConfiguration se dá použít k určení dalších požadavků pro spuštění, jako jsou závislosti Conda a image Dockeru.

výchozí hodnota: 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
str

Název skriptu ADLA vzhledem k source_directory.

description
Vyžadováno
str

Popis verze modulu.

inputs
Vyžadováno

Vstupní vazby modulu.

outputs
Vyžadováno

Výstupní vazby modulu

params

Parametr ModuleVersion jako název-default_value páry.

výchozí hodnota: None
create_sequencing_ports

Určuje, jestli se pro modul vytvoří porty pro sekvencování.

výchozí hodnota: True
degree_of_parallelism
int

Stupeň paralelismu, který se má použít pro tuto úlohu.

výchozí hodnota: None
priority
int

Hodnota priority, která se má použít pro aktuální úlohu.

výchozí hodnota: None
runtime_version
str

Verze modulu runtime modulu Azure Data Lake Analytics (ADLA).

výchozí hodnota: None
compute_target

Výpočetní prostředky ADLA, které se mají použít pro tuto úlohu.

výchozí hodnota: None
version
str

Verze modulu.

výchozí hodnota: None
is_default

Určuje, jestli publikovaná verze má být výchozí.

výchozí hodnota: False
source_directory
str

adresář

výchozí hodnota: None
hash_paths

hash_paths

výchozí hodnota: None
category
str

Kategorie verze modulu

výchozí hodnota: 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).

výchozí hodnota: 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
str

Popis verze modulu.

compute_target
Vyžadováno

Cíl výpočetních prostředků BatchCompute.

inputs
Vyžadováno

Vstupní vazby modulu.

outputs
Vyžadováno

Výstupní vazby modulu

params

Parametr ModuleVersion jako název-default_value páry.

výchozí hodnota: None
create_sequencing_ports

Určuje, jestli se pro modul vytvoří porty pro sekvencování.

výchozí hodnota: True
version
str

Verze modulu

výchozí hodnota: None
is_default

Určuje, jestli publikovaná verze má být výchozí.

výchozí hodnota: False
create_pool

Určuje, jestli se má vytvořit fond před spuštěním úloh.

výchozí hodnota: False
pool_id
str

(Povinné) ID fondu, ve kterém se úloha spustí.

výchozí hodnota: None
delete_batch_job_after_finish

Určuje, jestli se má úloha po dokončení odstranit z účtu Batch.

výchozí hodnota: False
delete_batch_pool_after_finish

Určuje, jestli se má fond po dokončení úlohy odstranit.

výchozí hodnota: False
is_positive_exit_code_failure

Označuje, jestli úloha selže, pokud úkol existuje s pozitivním kódem.

výchozí hodnota: True
vm_image_urn
str

Pokud create_pool má hodnotu True a virtuální počítač používá VirtualMachineConfiguration, pak tento parametr označuje image virtuálního počítače, která se má použít. Formát hodnoty: urn:publisher:offer:sku. Příklad: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter.

výchozí hodnota: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter
run_task_as_admin

Určuje, jestli má úloha běžet s Správa oprávněními.

výchozí hodnota: False
target_compute_nodes
int

Pokud create_pool je hodnota True, znamená to, kolik výpočetních uzlů se přidá do fondu.

výchozí hodnota: 1
vm_size
str

Pokud create_pool je hodnota True, označuje velikost virtuálního počítače výpočetních uzlů.

výchozí hodnota: standard_d1_v2
executable
str

Název příkazu nebo spustitelného souboru, který se spustí jako součást úlohy.

výchozí hodnota: None
source_directory
str

Zdrojový adresář.

výchozí hodnota: None
category
str

Kategorie verze modulu

výchozí hodnota: 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).

výchozí hodnota: 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
str

Název skriptu Pythonu vzhledem k .source_directory

description
Vyžadováno
str

Popis verze modulu.

inputs
Vyžadováno

Vstupní vazby modulu.

outputs
Vyžadováno

Výstupní vazby modulu

params

Parametr ModuleVersion jako název-default_value páry.

výchozí hodnota: None
create_sequencing_ports

Určuje, jestli se pro modul vytvoří porty pro sekvencování.

výchozí hodnota: True
version
str

Verze modulu

výchozí hodnota: None
is_default

Určuje, jestli publikovaná verze má být výchozí.

výchozí hodnota: False
source_directory
str

adresář

výchozí hodnota: None
hash_paths

Seznam cest k hodnotě hash při kontrole změn 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 objektu source_directory hashuje (s výjimkou souborů uvedených v .amlignore nebo .gitignore). ZASTARALÉ: Už není potřeba.

výchozí hodnota: None
category
str

Kategorie verze modulu

výchozí hodnota: 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).

výchozí hodnota: None
runconfig

Volitelná konfigurace RunConfiguration. RunConfiguration se dá použít k určení dalších požadavků pro spuštění, jako jsou závislosti Conda a image Dockeru.

výchozí hodnota: None

Návraty

Typ Description

resolve

Vyřešte a vraťte správnou hodnotu ModuleVersion.

resolve(version=None)

Parametry

Name Description
version
výchozí hodnota: None

Návraty

Typ Description

Verze modulu, která se má použít.

set_default_version

Nastavte výchozí hodnotu ModuleVersion modulu.

set_default_version(version_id)

Parametry

Name Description
version_id
Vyžadováno

Návraty

Typ Description
str

Výchozí verze.

Výjimky

Typ Description

set_description

Nastavte popis modulu.

set_description(description)

Parametry

Name Description
description
Vyžadováno
str

Popis, který se má nastavit.

Výjimky

Typ Description

set_name

Nastavte název modulu.

set_name(name)

Parametry

Name Description
name
Vyžadováno
str

Název, který chcete nastavit.

Výjimky

Typ Description

Atributy

default_version

Získejte výchozí verzi modulu.

Návraty

Typ Description
str

Výchozí řetězec verze.

description

Získejte popis modulu.

Návraty

Typ Description
str

Řetězec popisu.

id

Získejte ID modulu.

Návraty

Typ Description
str

ID.

name

Získejte název modulu.

Návraty

Typ Description
str

Název

status

Získejte stav modulu.

Návraty

Typ Description
str

Stav.