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.objectModule
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 área de trabalho a que este Módulo pertence. |
module_id
Necessário
|
O ID do Módulo. |
name
Necessário
|
O nome do Módulo. |
description
Necessário
|
A descrição do Módulo. |
status
Necessário
|
O novo estado do Módulo: "Ativo", "Preterido" ou "Desativado". |
default_version
Necessário
|
A versão predefinida do Módulo. |
module_version_list
Necessário
|
Uma lista de ModuleVersionDescriptor objetos. |
_module_provider
|
<xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>
(Apenas utilização interna.) O fornecedor do Módulo. Default value: None
|
_module_version_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
(Apenas utilização interna.) O fornecedor ModuleVersion. Default value: None
|
workspace
Necessário
|
O objeto de área de trabalho a que este Módulo pertence. |
module_id
Necessário
|
O ID do Módulo. |
name
Necessário
|
O nome do Módulo. |
description
Necessário
|
A descrição do Módulo. |
status
Necessário
|
O novo estado do Módulo: "Ativo", "Preterido" ou "Desativado". |
default_version
Necessário
|
A versão predefinida do Módulo. |
module_version_list
Necessário
|
Uma lista de ModuleVersionDescriptor objetos. |
_module_provider
Necessário
|
<xref:<xref:_AevaMlModuleProvider object>>
O fornecedor do Módulo. |
_module_version_provider
Necessário
|
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
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
- Obter a versão do Módulo que foi atualizada pela última vez
Tenha em atenção que, uma vez que o mapeamento de entradas e saídas de um nó para a entrada e saída de um módulo é definido 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 lote 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 a ModuleVersion correta. |
set_default_version |
Defina a ModuleVersion predefinida 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
|
A área de trabalho na qual criar o Módulo. |
name
Necessário
|
O nome do Módulo. |
description
Necessário
|
A descrição do Módulo. |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Apenas utilização interna.) O fornecedor de fluxo de trabalho. Default value: None
|
Devoluções
Tipo | Description |
---|---|
Objeto de 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; 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
Name | Description |
---|---|
workspace
Necessário
|
A área de trabalho na qual criar o Módulo. |
module_id
|
O ID do Módulo. Default value: None
|
name
|
O nome do Módulo. Default value: None
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Apenas utilização interna.) O fornecedor de fluxo de trabalho. Default value: None
|
Devoluções
Tipo | Description |
---|---|
Objeto de módulo |
get_default
Obter a versão predefinida do módulo.
get_default()
Devoluções
Tipo | Description |
---|---|
A versão do módulo predefinida. |
get_default_version
Obter a versão predefinida do Módulo.
get_default_version()
Devoluções
Tipo | Description |
---|---|
A versão predefinida 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
|
A área de trabalho em que o Módulo foi criado. |
name
Necessário
|
O nome do Módulo. |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Apenas utilização interna.) O fornecedor de fluxo de trabalho. Default value: None
|
Devoluções
Tipo | Description |
---|---|
A lista de ModuleVersionDescriptor |
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 | Description |
---|---|
name
Necessário
|
O nome módulo. |
description
Necessário
|
A descrição do Módulo. |
execution_type
Necessário
|
O tipo de execução do Módulo. |
input_bindings
Necessário
|
Os enlaces de entrada do Módulo. |
output_bindings
Necessário
|
Os enlaces de saída do Módulo. |
param_defs
|
As definições do parâmetro Módulo. Default value: None
|
create_sequencing_ports
|
Indica se as portas de sequenciação 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
|
A versão do Módulo. Default value: None
|
module_type
|
O tipo Módulo. Default value: None
|
step_type
|
Tipo de passo associado a este módulo, por exemplo, "PythonScriptStep", "HyperDriveStep", etc. Default value: None
|
arguments
|
Lista de argumentos anotados a utilizar ao chamar este módulo Default value: None
|
runconfig
|
Runconfig que será utilizado para python_script_step Default value: None
|
cloud_settings
|
Definições que serão utilizadas para clouds Default value: None
|
Devoluções
Tipo | Description |
---|---|
O objeto Module def. |
Exceções
Tipo | Description |
---|---|
module_version_list
Obtenha a lista Versão do módulo.
module_version_list()
Devoluções
Tipo | Description |
---|---|
A lista de ModuleVersionDescriptor |
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 | Description |
---|---|
name
Necessário
|
O nome do passo. |
source_directory
Necessário
|
O diretório de origem do passo. |
script_name
Necessário
|
O nome do script do passo. |
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
|
A descrição do Módulo. |
execution_type
Necessário
|
O tipo de execução do Módulo.
Os valores aceitáveis são |
inputs
Necessário
|
O Módulo é introduzido. |
outputs
Necessário
|
O Módulo é exportado. |
param_defs
|
As definições de parâmetros do Módulo. Default value: None
|
create_sequencing_ports
|
Indica se as portas de sequenciação serão criadas para o Módulo. Default value: True
|
version
|
A versão do Módulo. Default value: None
|
is_default
|
Indica se a versão publicada deve ser a predefinida. Default value: False
|
content_path
|
diretório Default value: None
|
hash_paths
|
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 Default value: None
|
category
|
Categoria da versão do módulo Default value: None
|
arguments
|
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). Default value: None
|
runconfig
|
Uma RunConfiguration opcional. Uma RunConfiguration pode ser utilizada 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 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
Name | Description |
---|---|
script_name
Necessário
|
O nome de um script do ADLA, relativo a |
description
Necessário
|
A descrição da versão do Módulo. |
inputs
Necessário
|
Os enlaces de entrada do Módulo. |
outputs
Necessário
|
Os enlaces de saída do Módulo. |
params
|
Os parâmetros ModuleVersion, como pares name-default_value. Default value: None
|
create_sequencing_ports
|
Indica se as portas de sequenciação serão criadas para o Módulo. Default value: True
|
degree_of_parallelism
|
O grau de paralelismo a utilizar para este trabalho. Default value: None
|
priority
|
O valor de prioridade a utilizar para a tarefa atual. Default value: None
|
runtime_version
|
A versão de runtime do motor do Azure Data Lake Analytics (ADLA). Default value: None
|
compute_target
|
A computação do ADLA a utilizar para esta tarefa. Default value: None
|
version
|
A versão do módulo. Default value: None
|
is_default
|
Indica se a versão publicada deve ser a predefinida. Default value: False
|
source_directory
|
diretório Default value: None
|
hash_paths
|
hash_paths Default value: None
|
category
|
Categoria da versão do módulo Default value: None
|
arguments
|
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). Default value: None
|
Devoluções
Tipo | Description |
---|---|
publish_azure_batch
Crie um ModuleVersion que utilize 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
|
A descrição da versão do Módulo. |
compute_target
Necessário
|
BatchCompute ou
str
O destino de computação BatchCompute. |
inputs
Necessário
|
Os enlaces de entrada do Módulo. |
outputs
Necessário
|
Os enlaces de saída do Módulo. |
params
|
Os parâmetros ModuleVersion, como pares name-default_value. Default value: None
|
create_sequencing_ports
|
Indica se as portas de sequenciação serão criadas para o Módulo. Default value: True
|
version
|
A versão do Módulo. Default value: None
|
is_default
|
Indica se a versão publicada deve ser a predefinida. Default value: False
|
create_pool
|
Indica se deve criar o conjunto antes de executar as tarefas. Default value: False
|
pool_id
|
(Obrigatório) O ID do Conjunto onde a tarefa será executada. Default value: None
|
delete_batch_job_after_finish
|
Indica se pretende eliminar a tarefa da conta do Batch depois de terminar. Default value: False
|
delete_batch_pool_after_finish
|
Indica se pretende eliminar o conjunto após a conclusão da tarefa. 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
|
Se Default value: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter
|
run_task_as_admin
|
Indica se a tarefa deve ser executada com privilégios de Administração. Default value: False
|
target_compute_nodes
|
Se Default value: 1
|
vm_size
|
Se Default value: standard_d1_v2
|
executable
|
O nome do comando/executável que será executado como parte da tarefa. Default value: None
|
source_directory
|
O diretório de origem. Default value: None
|
category
|
Categoria da versão do módulo Default value: None
|
arguments
|
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). Default value: None
|
Devoluções
Tipo | Description |
---|---|
Exceções
Tipo | Description |
---|---|
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
Name | Description |
---|---|
script_name
Necessário
|
O nome de um script python, relativo a |
description
Necessário
|
A descrição da versão do Módulo. |
inputs
Necessário
|
Os enlaces de entrada do Módulo. |
outputs
Necessário
|
Os enlaces de saída do Módulo. |
params
|
Os parâmetros ModuleVersion, como pares name-default_value. Default value: None
|
create_sequencing_ports
|
Indica se as portas de sequenciação serão criadas para o Módulo. Default value: True
|
version
|
A versão do Módulo. Default value: None
|
is_default
|
Indica se a versão publicada deve ser a predefinida. Default value: False
|
source_directory
|
diretório Default value: None
|
hash_paths
|
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 Default value: None
|
category
|
Categoria da versão do módulo Default value: None
|
arguments
|
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). Default value: None
|
runconfig
|
Uma RunConfiguration opcional. Uma RunConfiguration pode ser utilizada 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 devolva a ModuleVersion correta.
resolve(version=None)
Parâmetros
Name | Description |
---|---|
version
|
Default value: None
|
Devoluções
Tipo | Description |
---|---|
A versão do Módulo a utilizar. |
set_default_version
Defina a ModuleVersion predefinida do Módulo.
set_default_version(version_id)
Parâmetros
Name | Description |
---|---|
version_id
Necessário
|
|
Devoluções
Tipo | Description |
---|---|
A versão predefinida. |
Exceções
Tipo | Description |
---|---|
set_description
Defina a descrição do Módulo.
set_description(description)
Parâmetros
Name | Description |
---|---|
description
Necessário
|
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
|
O nome a definir. |
Exceções
Tipo | Description |
---|---|
Atributos
default_version
Obtenha a versão predefinida do Módulo.
Devoluções
Tipo | Description |
---|---|
A cadeia de versão predefinida. |