Module Classe

Representa uma unidade de computação utilizada num pipeline do Azure Machine Learning.

Um módulo é uma coleção de ficheiros que será executada num destino de computação e uma descrição de uma interface. A coleção de ficheiros pode ser script, binários ou quaisquer outros ficheiros necessários para executar no destino de computação. A interface do módulo descreve as entradas, saídas e definições de parâmetros. Não os vincula a valores ou dados específicos. Um módulo tem um instantâneo associado ao mesmo, que captura a coleção de ficheiros definidos para o módulo.

Inicializar Módulo.

Herança
builtins.object
Module

Construtor

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

Parâmetros

workspace
Workspace
Necessário

O objeto de área de trabalho a que este Módulo pertence.

module_id
str
Necessário

O ID do Módulo.

name
str
Necessário

O nome do Módulo.

description
str
Necessário

A descrição do Módulo.

status
str
Necessário

O novo estado do Módulo: "Ativo", "Preterido" ou "Desativado".

default_version
str
Necessário

A versão predefinida do Módulo.

module_version_list
list
Necessário

Uma lista de ModuleVersionDescriptor objetos.

_module_provider
<xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>
valor predefinido: None

(Apenas utilização interna.) O fornecedor do Módulo.

_module_version_provider
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
valor predefinido: None

(Apenas utilização interna.) O fornecedor ModuleVersion.

workspace
Workspace
Necessário

O objeto de área de trabalho a que este Módulo pertence.

module_id
str
Necessário

O ID do Módulo.

name
str
Necessário

O nome do Módulo.

description
str
Necessário

A descrição do Módulo.

status
str
Necessário

O novo estado do Módulo: "Ativo", "Preterido" ou "Desativado".

default_version
str
Necessário

A versão predefinida do Módulo.

module_version_list
list
Necessário

Uma lista de ModuleVersionDescriptor objetos.

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

O fornecedor do Módulo.

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

O fornecedor ModuleVersion.

Observações

Um Módulo funciona como um contentor das respetivas versões. No exemplo seguinte, é criado um ModuleVersion a publish_python_script partir do método e tem duas entradas e duas saídas. A criação moduleVersion é a versão predefinida (is_default está definida como Verdadeiro).


   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")

O exemplo completo está disponível a partir de 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 utilizado ao definir um pipeline, em passos diferentes, com um ModuleStep.

O exemplo seguinte mostra como ligar os dados utilizados no pipeline a entradas e saídas de um ModuleVersion com 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}

O exemplo completo está disponível a partir de https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb

Em seguida, o mapeamento pode ser utilizado 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])

O exemplo completo está disponível a partir de 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 da versão do módulo a utilizar ocorre após a submissão e segue o seguinte processo:

  • Remover todas as versões desativadas
  • Se uma versão específica tiver sido indicada, utilize-a, caso contrário
  • Se uma versão predefinida tiver sido definida para o Módulo, utilize-a, caso contrário
  • Se todas as versões seguirem o controlo de versões sem letras, tome o valor mais alto, caso contrário
  • Veja a versão do Módulo que foi atualizada pela última vez

Tenha em atenção que, uma vez que as entradas e saídas de um nó que mapeiam para a entrada e saída de um módulo são definidas após a criação do Pipeline, se a versão resolvida após a submissão tiver uma interface diferente daquela que é resolvida após a criação do pipeline, a submissão do pipeline falhará.

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

Os módulos têm um nome exclusivo numa área 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; gera uma exceção se qualquer uma das opções não for fornecida.

get_default

Obter a versão predefinida do módulo.

get_default_version

Obter a versão predefinida do Módulo.

get_versions

Obtenha todas as versões do Módulo.

module_def_builder

Crie o objeto de definição do módulo que descreve o passo.

module_version_list

Obtenha a lista Versão do módulo.

process_source_directory

Processe o diretório de origem do passo e verifique se o script existe.

publish

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

publish_adla_script

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

publish_azure_batch

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

publish_python_script

Crie um ModuleVersion baseado num script python e adicione-o ao Módulo atual.

resolve

Resolva e devolva o ModuleVersion correto.

set_default_version

Defina o ModuleVersion predefinido 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

workspace
Workspace
Necessário

A área de trabalho na qual criar o Módulo.

name
str
Necessário

O nome do Módulo.

description
str
Necessário

A descrição do Módulo.

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
valor predefinido: None

(Apenas utilização interna.) O fornecedor de fluxo de trabalho.

Devoluções

Objeto de módulo

Tipo de retorno

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; gera uma exceção se qualquer uma das opções não for fornecida.

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

Parâmetros

workspace
Workspace
Necessário

A área de trabalho na qual criar o Módulo.

module_id
str
valor predefinido: None

O ID do Módulo.

name
str
valor predefinido: None

O nome do Módulo.

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
valor predefinido: None

(Apenas utilização interna.) O fornecedor de fluxo de trabalho.

Devoluções

Objeto de módulo

Tipo de retorno

get_default

Obter a versão predefinida do módulo.

get_default()

Devoluções

A versão do módulo predefinida.

Tipo de retorno

get_default_version

Obter a versão predefinida do Módulo.

get_default_version()

Devoluções

A versão predefinida do Módulo.

Tipo de retorno

str

get_versions

Obtenha todas as versões do Módulo.

static get_versions(workspace, name, _workflow_provider=None)

Parâmetros

workspace
Workspace
Necessário

A área de trabalho em que o Módulo foi criado.

name
str
Necessário

O nome do Módulo.

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
valor predefinido: None

(Apenas utilização interna.) O fornecedor de fluxo de trabalho.

Devoluções

A lista de ModuleVersionDescriptor

Tipo de retorno

module_def_builder

Crie o objeto de definição do módulo que descreve o passo.

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
str
Necessário

O nome módulo.

description
str
Necessário

A descrição do Módulo.

execution_type
str
Necessário

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

input_bindings
list
Necessário

Os enlaces de entrada do Módulo.

output_bindings
list
Necessário

Os enlaces de saída do Módulo.

param_defs
list
valor predefinido: None

As definições do parâmetro Módulo.

create_sequencing_ports
bool
valor predefinido: True

Indica se as portas de sequenciação serão criadas para o Módulo.

allow_reuse
bool
valor predefinido: True

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

version
str
valor predefinido: None

A versão do Módulo.

module_type
str
valor predefinido: None

O tipo Módulo.

step_type
str
valor predefinido: None

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

arguments
list
valor predefinido: None

Lista de argumentos anotados a utilizar ao chamar este módulo

runconfig
str
valor predefinido: None

Runconfig que será utilizado para python_script_step

cloud_settings
str
valor predefinido: None

Definições que serão utilizadas para clouds

Devoluções

O objeto Module def.

Tipo de retorno

Exceções

module_version_list

Obtenha a lista Versão do módulo.

module_version_list()

Devoluções

A lista de ModuleVersionDescriptor

Tipo de retorno

process_source_directory

Processe o diretório de origem do passo e verifique se o script existe.

static process_source_directory(name, source_directory, script_name)

Parâmetros

name
str
Necessário

O nome do passo.

source_directory
str
Necessário

O diretório de origem do passo.

script_name
str
Necessário

O nome do script do passo.

Devoluções

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

Tipo de retorno

Exceções

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

description
str
Necessário

A descrição do Módulo.

execution_type
str
Necessário

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

inputs
list
Necessário

O Módulo é introduzido.

outputs
list
Necessário

O Módulo é exportado.

param_defs
list
valor predefinido: None

As definições de parâmetros do Módulo.

create_sequencing_ports
bool
valor predefinido: True

Indica se as portas de sequenciação serão criadas para o Módulo.

version
str
valor predefinido: None

A versão do Módulo.

is_default
bool
valor predefinido: False

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

content_path
str
valor predefinido: None

diretório

hash_paths
list
valor predefinido: None

Uma lista de caminhos para hash ao verificar se existem alterações nos conteúdos do passo. Se não forem detetadas alterações, o pipeline reutilizará o conteúdo do passo de uma execução anterior. Por predefinição, os conteúdos de source_directory são transformados em hash (exceto os ficheiros listados em .amlignore ou .gitignore). PRETERIDO: já não é necessário.

category
str
valor predefinido: None

Categoria da versão do módulo

arguments
list
valor predefinido: None

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

runconfig
RunConfiguration
valor predefinido: None

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

Tipo de retorno

Exceções

publish_adla_script

Crie um ModuleVersion com base no Azure Data Lake Analytics (ADLA) e adicione-o 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

script_name
str
Necessário

O nome de um script do ADLA, relativo a source_directory.

description
str
Necessário

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

inputs
list
Necessário

Os enlaces de entrada do Módulo.

outputs
list
Necessário

Os enlaces de saída do Módulo.

params
dict
valor predefinido: None

Os parâmetros ModuleVersion, como pares name-default_value.

create_sequencing_ports
bool
valor predefinido: True

Indica se as portas de sequenciação serão criadas para o Módulo.

degree_of_parallelism
int
valor predefinido: None

O grau de paralelismo a utilizar para este trabalho.

priority
int
valor predefinido: None

O valor de prioridade a utilizar para a tarefa atual.

runtime_version
str
valor predefinido: None

A versão de runtime do motor do Azure Data Lake Analytics (ADLA).

compute_target
AdlaCompute, str
valor predefinido: None

A computação do ADLA a utilizar para esta tarefa.

version
str
valor predefinido: None

A versão do módulo.

is_default
bool
valor predefinido: False

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

source_directory
str
valor predefinido: None

diretório

hash_paths
list
valor predefinido: None

hash_paths

category
str
valor predefinido: None

Categoria da versão do módulo

arguments
list
valor predefinido: None

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

Tipo de retorno

publish_azure_batch

Crie um ModuleVersion que utilize o batch 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

description
str
Necessário

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

compute_target
BatchCompute ou str
Necessário

O destino de computação BatchCompute.

inputs
list
Necessário

Os enlaces de entrada do Módulo.

outputs
list
Necessário

Os enlaces de saída do Módulo.

params
dict
valor predefinido: None

Os parâmetros ModuleVersion, como pares name-default_value.

create_sequencing_ports
bool
valor predefinido: True

Indica se as portas de sequenciação serão criadas para o Módulo.

version
str
valor predefinido: None

A versão do Módulo.

is_default
bool
valor predefinido: False

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

create_pool
bool
valor predefinido: False

Indica se deve criar o conjunto antes de executar as tarefas.

pool_id
str
valor predefinido: None

(Obrigatório) O ID do Conjunto onde a tarefa será executada.

delete_batch_job_after_finish
bool
valor predefinido: False

Indica se pretende eliminar a tarefa da conta do Batch após a sua conclusão.

delete_batch_pool_after_finish
bool
valor predefinido: False

Indica se pretende eliminar o conjunto após a conclusão da tarefa.

is_positive_exit_code_failure
bool
valor predefinido: True

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

vm_image_urn
str
valor predefinido: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter

Se create_pool for Verdadeiro e a VM utilizar VirtualMachineConfiguration, este parâmetro indica a imagem da VM a utilizar. Formato de valor: urn:publisher:offer:sku. Exemplo: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter.

run_task_as_admin
bool
valor predefinido: False

Indica se a tarefa deve ser executada com privilégios de Administração.

target_compute_nodes
int
valor predefinido: 1

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

vm_size
str
valor predefinido: standard_d1_v2

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

executable
str
valor predefinido: None

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

source_directory
str
valor predefinido: None

O diretório de origem.

category
str
valor predefinido: None

Categoria da versão do módulo

arguments
list
valor predefinido: None

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

Tipo de retorno

Exceções

publish_python_script

Crie um ModuleVersion baseado num 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

script_name
str
Necessário

O nome de um script python, relativo a source_directory.

description
str
Necessário

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

inputs
list
Necessário

Os enlaces de entrada do Módulo.

outputs
list
Necessário

Os enlaces de saída do Módulo.

params
dict
valor predefinido: None

Os parâmetros ModuleVersion, como pares name-default_value.

create_sequencing_ports
bool
valor predefinido: True

Indica se as portas de sequenciação serão criadas para o Módulo.

version
str
valor predefinido: None

A versão do Módulo.

is_default
bool
valor predefinido: False

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

source_directory
str
valor predefinido: None

diretório

hash_paths
list
valor predefinido: None

Uma lista de caminhos para hash ao verificar se existem alterações nos conteúdos do passo. Se não forem detetadas alterações, o pipeline reutilizará o conteúdo do passo de uma execução anterior. Por predefinição, os conteúdos de source_directory são transformados em hash (exceto os ficheiros listados em .amlignore ou .gitignore). PRETERIDO: já não é necessário.

category
str
valor predefinido: None

Categoria da versão do módulo

arguments
list
valor predefinido: None

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

runconfig
RunConfiguration
valor predefinido: None

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

Tipo de retorno

resolve

Resolva e devolva o ModuleVersion correto.

resolve(version=None)

Parâmetros

version
valor predefinido: None

Devoluções

A versão do Módulo a utilizar.

Tipo de retorno

set_default_version

Defina o ModuleVersion predefinido do Módulo.

set_default_version(version_id)

Parâmetros

version_id
Necessário

Devoluções

A versão predefinida.

Tipo de retorno

str

Exceções

set_description

Defina a descrição do Módulo.

set_description(description)

Parâmetros

description
str
Necessário

A descrição a definir.

Exceções

set_name

Defina o nome do Módulo.

set_name(name)

Parâmetros

name
str
Necessário

O nome a definir.

Exceções

Atributos

default_version

Obtenha a versão predefinida do Módulo.

Devoluções

A cadeia de versão predefinida.

Tipo de retorno

str

description

Obtenha a descrição do Módulo.

Devoluções

A cadeia de descrição.

Tipo de retorno

str

id

Obtenha o ID do Módulo.

Devoluções

O ID.

Tipo de retorno

str

name

Obtenha o nome do Módulo.

Devoluções

O nome.

Tipo de retorno

str

status

Obtenha o estado do Módulo.

Devoluções

O estado.

Tipo de retorno

str