Partilhar via


Module Classe

Representa uma unidade de computação usada em um pipeline do Azure Machine Learning.

Um módulo é uma coleção de arquivos que serão executados em um destino de computação e uma descrição de uma interface. A coleção de arquivos pode ser script, binários ou quaisquer outros arquivos necessários para serem executados no destino de computação. A interface do módulo descreve entradas, saídas e definições de parâmetros. Ele não os vincula a valores ou dados específicos. Um módulo tem um instantâneo associado a ele, que captura a coleção de arquivos definidos para o módulo.

Inicializar módulo.

Construtor

Module(workspace, module_id, name, description, status, default_version, module_version_list, _module_provider=None, _module_version_provider=None)

Parâmetros

Name Description
workspace
Necessário

O objeto de espaço de trabalho ao qual este módulo pertence.

module_id
Necessário
str

O ID do módulo.

name
Necessário
str

O nome do módulo.

description
Necessário
str

A descrição do módulo.

status
Necessário
str

O novo status do módulo: 'Ativo', 'Preterido' ou 'Desativado'.

default_version
Necessário
str

A versão padrão do módulo.

module_version_list
Necessário

Uma lista de ModuleVersionDescriptor objetos.

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

(Apenas para uso interno.) O provedor do módulo.

Default value: None
_module_version_provider
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>

(Apenas para uso interno.) O provedor ModuleVersion.

Default value: None
workspace
Necessário

O objeto de espaço de trabalho ao qual este módulo pertence.

module_id
Necessário
str

O ID do módulo.

name
Necessário
str

O nome do módulo.

description
Necessário
str

A descrição do módulo.

status
Necessário
str

O novo status do módulo: 'Ativo', 'Preterido' ou 'Desativado'.

default_version
Necessário
str

A versão padrão do módulo.

module_version_list
Necessário

Uma lista de ModuleVersionDescriptor objetos.

_module_provider
Necessário
<xref:<xref:_AevaMlModuleProvider object>>

O provedor do módulo.

_module_version_provider
Necessário
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>

O provedor ModuleVersion.

Observações

Um módulo atua como um contêiner de suas versões. No exemplo a seguir, um ModuleVersion é criado a partir do publish_python_script método e tem duas entradas e duas saídas. O create ModuleVersion é a versão padrão (is_default está definido como 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")

A amostra completa está disponível em https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb

Este módulo pode ser usado ao definir um pipeline, em diferentes etapas, usando um ModuleSteparquivo .

O exemplo a seguir mostra como conectar os dados usados no pipeline para entradas e saídas de um ModuleVersion usando 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}

A amostra completa está disponível em https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb

O mapeamento pode ser usado ao criar o 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])

A amostra completa está disponível em https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb

A resolução de qual versão do módulo usar acontece no momento do envio, e segue o seguinte processo:

  • Remover todas as versões desativadas
  • Se uma versão específica foi declarada, use isso, caso contrário
  • Se uma versão padrão foi definida para o módulo, use isso, caso contrário
  • Se todas as versões seguirem o controle de versão semântico sem letras, pegue o valor mais alto, caso contrário
  • Pegue a versão do módulo que foi atualizada por último

Observe que, como o mapeamento de entradas e saídas de um nó para a entrada e saída de um módulo é definido na criação do Pipeline, se a versão resolvida no envio tiver uma interface diferente daquela que é resolvida na criação do pipeline, o envio do pipeline falhará.

O módulo subjacente pode ser atualizado com novas versões, mantendo a versão padrão a mesma.

Os módulos são nomeados exclusivamente dentro de um espaço de trabalho.

Métodos

create

Crie o módulo.

deprecate

Defina o módulo como 'Preterido'.

disable

Defina o módulo como 'Desativado'.

enable

Defina o módulo como 'Ativo'.

get

Obter o Módulo por nome ou por ID; lança uma exceção se uma delas não for fornecida.

get_default

Obtenha a versão padrão do módulo.

get_default_version

Obtenha a versão padrão do módulo.

get_versions

Obtenha todas as versões do módulo.

module_def_builder

Crie o objeto de definição de módulo que descreve a etapa.

module_version_list

Obtenha a lista de versões do módulo.

process_source_directory

Processe o diretório de origem para a etapa e verifique se o script existe.

publish

Crie um ModuleVersion e adicione-o ao módulo atual.

publish_adla_script

Crie uma ModuleVersion com base no Azure Data Lake Analytics (ADLA) e adicione-a ao Módulo atual.

publish_azure_batch

Crie um ModuleVersion que use o lote do Azure e adicione-o ao Módulo atual.

publish_python_script

Crie um ModuleVersion baseado em um script Python e adicione-o ao módulo atual.

resolve

Resolva e retorne o ModuleVersion correto.

set_default_version

Defina o padrão ModuleVersion do módulo.

set_description

Defina a descrição do módulo.

set_name

Defina o nome do módulo.

create

Crie o módulo.

static create(workspace, name, description, _workflow_provider=None)

Parâmetros

Name Description
workspace
Necessário

O espaço de trabalho no qual criar o módulo.

name
Necessário
str

O nome do módulo.

description
Necessário
str

A descrição do módulo.

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

(Apenas para uso interno.) O provedor de fluxo de trabalho.

Default value: None

Devoluções

Tipo Description

Objeto do módulo

deprecate

Defina o módulo como 'Preterido'.

deprecate()

disable

Defina o módulo como 'Desativado'.

disable()

enable

Defina o módulo como 'Ativo'.

enable()

get

Obter o Módulo por nome ou por ID; lança uma exceção se uma delas não for fornecida.

static get(workspace, module_id=None, name=None, _workflow_provider=None)

Parâmetros

Name Description
workspace
Necessário

O espaço de trabalho no qual criar o módulo.

module_id
str

O ID do módulo.

Default value: None
name
str

O nome do módulo.

Default value: None
_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

(Apenas para uso interno.) O provedor de fluxo de trabalho.

Default value: None

Devoluções

Tipo Description

Objeto do módulo

get_default

Obtenha a versão padrão do módulo.

get_default()

Devoluções

Tipo Description

A versão padrão do módulo.

get_default_version

Obtenha a versão padrão do módulo.

get_default_version()

Devoluções

Tipo Description
str

A versão padrão do módulo.

get_versions

Obtenha todas as versões do módulo.

static get_versions(workspace, name, _workflow_provider=None)

Parâmetros

Name Description
workspace
Necessário

O espaço de trabalho no qual o módulo foi criado.

name
Necessário
str

O nome do módulo.

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

(Apenas para uso interno.) O provedor de fluxo de trabalho.

Default value: None

Devoluções

Tipo Description

A lista de ModuleVersionDescriptor

module_def_builder

Crie o objeto de definição de módulo que descreve a etapa.

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)

Parâmetros

Name Description
name
Necessário
str

O nome do módulo.

description
Necessário
str

A descrição do módulo.

execution_type
Necessário
str

O tipo de execução do módulo.

input_bindings
Necessário

As ligações de entrada do módulo.

output_bindings
Necessário

As ligações de saída do módulo.

param_defs

As definições de param Module.

Default value: None
create_sequencing_ports

Indica se as portas de sequenciamento serão criadas para o módulo.

Default value: True
allow_reuse

Indica se o Módulo estará disponível para ser reutilizado.

Default value: True
version
str

A versão do módulo.

Default value: None
module_type
str

O tipo de módulo.

Default value: None
step_type
str

Tipo de passo associado a este módulo, por exemplo, "PythonScriptStep", "HyperDriveStep", etc.

Default value: None
arguments

Lista de argumentos anotados a serem usados ao chamar este módulo

Default value: None
runconfig
str

Runconfig que será usado para python_script_step

Default value: None
cloud_settings
str

Configurações que serão usadas para nuvens

Default value: None

Devoluções

Tipo Description

O objeto Module def.

Exceções

Tipo Description

module_version_list

Obtenha a lista de versões do módulo.

module_version_list()

Devoluções

Tipo Description

A lista de ModuleVersionDescriptor

process_source_directory

Processe o diretório de origem para a etapa e verifique se o script existe.

static process_source_directory(name, source_directory, script_name)

Parâmetros

Name Description
name
Necessário
str

O nome da etapa.

source_directory
Necessário
str

O diretório de origem da etapa.

script_name
Necessário
str

O nome do script para a etapa.

Devoluções

Tipo Description

O diretório de origem e os caminhos de hash.

Exceções

Tipo Description

publish

Crie um ModuleVersion e adicione-o ao módulo atual.

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)

Parâmetros

Name Description
description
Necessário
str

A descrição do módulo.

execution_type
Necessário
str

O tipo de execução do módulo. Os valores aceitáveis são esCloud, adlcloud e AzureBatchCloud

inputs
Necessário

As entradas do módulo.

outputs
Necessário

As saídas do módulo.

param_defs

As definições do parâmetro Module.

Default value: None
create_sequencing_ports

Indica se as portas de sequenciamento serão criadas para o módulo.

Default value: True
version
str

A versão do módulo.

Default value: None
is_default

Indica se a versão publicada deve ser a padrão.

Default value: False
content_path
str

directório

Default value: None
hash_paths

Uma lista de caminhos para hash ao verificar alterações no conteúdo da etapa. Se não forem detetadas alterações, o pipeline reutilizará o conteúdo da etapa de uma execução anterior. Por padrão, o source_directory conteúdo do é colocado em hash (exceto arquivos listados em .amlignore ou .gitignore). DEPRECATED: não é mais necessário.

Default value: None
category
str

A categoria da versão do módulo

Default value: None
arguments

Argumentos a serem usados ao chamar o módulo. Os argumentos podem ser strings, referências de entrada (InputPortDef), referências de saída (OutputPortDef) e parâmetros de pipeline (PipelineParameter).

Default value: None
runconfig

Um RunConfiguration opcional. Um RunConfiguration pode ser usado para especificar requisitos adicionais para a execução, como dependências conda e uma imagem do Docker.

Default value: None

Devoluções

Tipo Description

Exceções

Tipo Description

publish_adla_script

Crie uma ModuleVersion com base no Azure Data Lake Analytics (ADLA) e adicione-a ao Módulo atual.

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)

Parâmetros

Name Description
script_name
Necessário
str

O nome de um script ADLA, relativo a source_directory.

description
Necessário
str

A descrição da versão do módulo.

inputs
Necessário

As ligações de entrada do módulo.

outputs
Necessário

As ligações de saída do módulo.

params

O ModuleVersion params, como pares de default_value nome.

Default value: None
create_sequencing_ports

Indica se as portas de sequenciamento serão criadas para o módulo.

Default value: True
degree_of_parallelism
int

O grau de paralelismo a utilizar para este trabalho.

Default value: None
priority
int

O valor de prioridade a ser usado para o trabalho atual.

Default value: None
runtime_version
str

A versão de tempo de execução do mecanismo do Azure Data Lake Analytics (ADLA).

Default value: None
compute_target

O cálculo ADLA a ser usado para este trabalho.

Default value: None
version
str

A versão do módulo.

Default value: None
is_default

Indica se a versão publicada deve ser a padrão.

Default value: False
source_directory
str

directório

Default value: None
hash_paths

hash_paths

Default value: None
category
str

A categoria da versão do módulo

Default value: None
arguments

Argumentos a serem usados ao chamar o módulo. Os argumentos podem ser strings, referências de entrada (InputPortDef), referências de saída (OutputPortDef) e parâmetros de pipeline (PipelineParameter).

Default value: None

Devoluções

Tipo Description

publish_azure_batch

Crie um ModuleVersion que use o lote do Azure e adicione-o ao Módulo atual.

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)

Parâmetros

Name Description
description
Necessário
str

A descrição da versão do módulo.

compute_target
Necessário

O destino de computação BatchCompute.

inputs
Necessário

As ligações de entrada do módulo.

outputs
Necessário

As ligações de saída do módulo.

params

O ModuleVersion params, como pares de default_value nome.

Default value: None
create_sequencing_ports

Indica se as portas de sequenciamento serão criadas para o módulo.

Default value: True
version
str

A versão do módulo.

Default value: None
is_default

Indica se a versão publicada deve ser a padrão.

Default value: False
create_pool

Indica se o pool deve ser criado antes de executar os trabalhos.

Default value: False
pool_id
str

(Obrigatório) A ID do Pool onde o trabalho será executado.

Default value: None
delete_batch_job_after_finish

Indica se o trabalho deve ser excluído da conta em lote após sua conclusão.

Default value: False
delete_batch_pool_after_finish

Indica se o pool deve ser excluído após a conclusão do trabalho.

Default value: False
is_positive_exit_code_failure

Indica se o trabalho falha se a tarefa existir com um código positivo.

Default value: True
vm_image_urn
str

Se create_pool for True e a VM usar VirtualMachineConfiguration, esse parâmetro indicará a imagem da VM a ser usada. Formato do valor: urn:publisher:offer:sku. Exemplo: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter.

Default value: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter
run_task_as_admin

Indica se a tarefa deve ser executada com privilégios de administrador.

Default value: False
target_compute_nodes
int

Se create_pool for True, indica quantos nós de computação serão adicionados ao pool.

Default value: 1
vm_size
str

Se create_pool for True, indica o tamanho da máquina virtual dos nós de computação.

Default value: standard_d1_v2
executable
str

O nome do comando/executável que será executado como parte do trabalho.

Default value: None
source_directory
str

O diretório de origem.

Default value: None
category
str

A categoria da versão do módulo

Default value: None
arguments

Argumentos a serem usados ao chamar o módulo. Os argumentos podem ser strings, referências de entrada (InputPortDef), referências de saída (OutputPortDef) e parâmetros de pipeline (PipelineParameter).

Default value: None

Devoluções

Tipo Description

Exceções

Tipo Description

publish_python_script

Crie um ModuleVersion baseado em um script Python e adicione-o ao módulo atual.

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)

Parâmetros

Name Description
script_name
Necessário
str

O nome de um script Python, relativo a source_directory.

description
Necessário
str

A descrição da versão do módulo.

inputs
Necessário

As ligações de entrada do módulo.

outputs
Necessário

As ligações de saída do módulo.

params

O ModuleVersion params, como pares de default_value nome.

Default value: None
create_sequencing_ports

Indica se as portas de sequenciamento serão criadas para o módulo.

Default value: True
version
str

A versão do módulo.

Default value: None
is_default

Indica se a versão publicada deve ser a padrão.

Default value: False
source_directory
str

directório

Default value: None
hash_paths

Uma lista de caminhos para hash ao verificar alterações no conteúdo da etapa. Se não forem detetadas alterações, o pipeline reutilizará o conteúdo da etapa de uma execução anterior. Por padrão, o source_directory conteúdo do são hashed (exceto arquivos listados em .amlignore ou .gitignore). DEPRECATED: não é mais necessário.

Default value: None
category
str

A categoria da versão do módulo

Default value: None
arguments

Argumentos a serem usados ao chamar o módulo. Os argumentos podem ser strings, referências de entrada (InputPortDef), referências de saída (OutputPortDef) e parâmetros de pipeline (PipelineParameter).

Default value: None
runconfig

Um RunConfiguration opcional. Um RunConfiguration pode ser usado para especificar requisitos adicionais para a execução, como dependências conda e uma imagem do Docker.

Default value: None

Devoluções

Tipo Description

resolve

Resolva e retorne o ModuleVersion correto.

resolve(version=None)

Parâmetros

Name Description
version
Default value: None

Devoluções

Tipo Description

A versão do módulo a ser usada.

set_default_version

Defina o padrão ModuleVersion do módulo.

set_default_version(version_id)

Parâmetros

Name Description
version_id
Necessário

Devoluções

Tipo Description
str

A versão padrão.

Exceções

Tipo Description

set_description

Defina a descrição do módulo.

set_description(description)

Parâmetros

Name Description
description
Necessário
str

A descrição a definir.

Exceções

Tipo Description

set_name

Defina o nome do módulo.

set_name(name)

Parâmetros

Name Description
name
Necessário
str

O nome a definir.

Exceções

Tipo Description

Atributos

default_version

Obtenha a versão padrão do módulo.

Devoluções

Tipo Description
str

A cadeia de caracteres de versão padrão.

description

Obtenha a descrição do Módulo.

Devoluções

Tipo Description
str

A cadeia de caracteres de descrição.

id

Obtenha o ID do módulo.

Devoluções

Tipo Description
str

O id.

name

Obtenha o nome do módulo.

Devoluções

Tipo Description
str

O nome.

status

Obtenha o status do módulo.

Devoluções

Tipo Description
str

O status.