Module Classe
Representa uma unidade de computação usada em um pipeline do Azure Machine Learning.
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 incluir script, binários ou quaisquer outros arquivos necessários para execução no destino de computação. A interface do módulo descreve as entradas, saídas e definições de parâmetro. Ela não os associa a valores ou dados específicos. Um módulo tem um instantâneo associado, que captura a coleção de arquivos 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
- _module_provider
- <xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>
(Somente uso interno.) O provedor de módulos.
- _module_version_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
(Somente uso interno.) O provedor ModuleVersion.
- _module_provider
- <xref:<xref:_AevaMlModuleProvider object>>
O provedor do Módulo.
- _module_version_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
O provedor do ModuleVersion.
Comentários
Um Módulo atua como contêiner de suas versões. No exemplo a seguir, um ModuleVersion é criado no método publish_python_script e tem duas entradas e duas saídas. O 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")
O exemplo completo 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
Esse módulo pode ser usado ao definir um pipeline, em etapas diferentes, usando um ModuleStep.
O exemplo a seguir mostra como transferir 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}
O exemplo completo 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])
O exemplo completo 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 da versão do módulo a ser usada ocorre após o envio e segue este processo:
- Remover todas as versões desabilitadas
- Se uma versão específica foi indicada, use-a, senão
- Se uma versão padrão foi definida para o Módulo, use-a, senão
- Se todas as versões seguirem o controle de versão semântico sem letras, pegue o valor mais alto, senão
- Pegar a versão do Módulo 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 após a criação do Pipeline, se a versão resolvida após o envio tiver uma interface diferente da que é resolvida após a criação do pipeline, o envio do pipeline falhará.
O módulo subjacente pode ser atualizado com novas versões, mantendo a mesma versão padrão.
Os módulos são nomeados exclusivamente em um workspace.
Métodos
create |
Criar o Módulo. |
deprecate |
Definir o Módulo como 'Preterido'. |
disable |
Definir o Módulo como 'Desabilitado'. |
enable |
Definir o Módulo como 'Ativo'. |
get |
Obtenha o Módulo por nome ou por ID; lança uma exceção se nenhum dos dois for informado. |
get_default |
Obter a versão padrão do módulo. |
get_default_version |
Obter a versão padrão do Módulo. |
get_versions |
Obter todas as versões do Módulo. |
module_def_builder |
Crie o objeto de definição do 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 da etapa 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 ADLA (Azure Data Lake Analytics) e adicione-o ao Módulo atual. |
publish_azure_batch |
Crie um ModuleVersion que usa 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 ModuleVersion padrão do Módulo. |
set_description |
Defina a descrição do Módulo. |
set_name |
Defina o nome do Módulo. |
create
Criar o Módulo.
static create(workspace, name, description, _workflow_provider=None)
Parâmetros
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Somente uso interno.) O provedor de fluxo de trabalho.
Retornos
Objeto do módulo
Tipo de retorno
deprecate
Definir o Módulo como 'Preterido'.
deprecate()
disable
Definir o Módulo como 'Desabilitado'.
disable()
enable
Definir o Módulo como 'Ativo'.
enable()
get
Obtenha o Módulo por nome ou por ID; lança uma exceção se nenhum dos dois for informado.
static get(workspace, module_id=None, name=None, _workflow_provider=None)
Parâmetros
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Somente uso interno.) O provedor de fluxo de trabalho.
Retornos
Objeto do módulo
Tipo de retorno
get_default
Obter a versão padrão do módulo.
get_default()
Retornos
A versão padrão do módulo.
Tipo de retorno
get_default_version
Obter a versão padrão do Módulo.
get_default_version()
Retornos
A versão padrão do Módulo.
Tipo de retorno
get_versions
Obter todas as versões do Módulo.
static get_versions(workspace, name, _workflow_provider=None)
Parâmetros
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Somente uso interno.) O provedor de fluxo de trabalho.
Retornos
A lista de ModuleVersionDescriptor
Tipo de retorno
module_def_builder
Crie o objeto de definição do 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
- create_sequencing_ports
- bool
Indica se as portas de sequenciamento serão criadas para o Módulo.
- step_type
- str
Tipo de etapa associada a esse módulo, por exemplo, "PythonScriptStep", "HyperDriveStep" etc.
Retornos
O objeto padrão do Módulo.
Tipo de retorno
Exceções
module_version_list
Obtenha a lista de versões do Módulo.
module_version_list()
Retornos
A lista de ModuleVersionDescriptor
Tipo de retorno
process_source_directory
Processe o diretório de origem da etapa e verifique se o script existe.
static process_source_directory(name, source_directory, script_name)
Parâmetros
Retornos
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
- execution_type
- str
O tipo de execução do Módulo.
Os valores aceitáveis são esCloud
, adlcloud
e AzureBatchCloud
- create_sequencing_ports
- bool
Indica se as portas de sequenciamento serão criadas para o Módulo.
- hash_paths
- list
Uma lista de caminhos para hash ao verificar alterações no conteúdo da etapa. Se não houver alterações detectadas, o pipeline reutilizará o conteúdo da etapa de uma execução anterior. Por padrão, o conteúdo do source_directory
recebe o hash (exceto os arquivos listados em .amlignore ou .gitignore).
PRETERIDO: não é mais necessário.
- arguments
- list
Argumentos que devem ser usados ao chamar o módulo. Os argumentos podem ser cadeias de caracteres, referências de entrada (InputPortDef), referências de saída (OutputPortDef) e parâmetros de pipeline (PipelineParameter).
- runconfig
- RunConfiguration
Um RunConfiguration opcional. Um RunConfiguration pode ser usado para especificar requisitos adicionais para a execução, como as dependências do Conda e uma imagem do Docker.
Tipo de retorno
Exceções
publish_adla_script
Crie um ModuleVersion com base no ADLA (Azure Data Lake Analytics) 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
- create_sequencing_ports
- bool
Indica se as portas de sequenciamento serão criadas para o Módulo.
- runtime_version
- str
A versão do runtime do mecanismo de ADLA (Azure Data Lake Analytics).
- compute_target
- AdlaCompute, str
A computação de ADLA que deve ser usada para esse trabalho.
- arguments
- list
Argumentos que devem ser usados ao chamar o módulo. Os argumentos podem ser cadeias de caracteres, 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 usa 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
- create_sequencing_ports
- bool
Indica se as portas de sequenciamento serão criadas para o Módulo.
- create_pool
- bool
Indica se o pool deve ou não ser criado antes da execução do trabalho.
- delete_batch_job_after_finish
- bool
Indica se o trabalho deve ser excluído da conta do Lote depois de concluído.
- delete_batch_pool_after_finish
- bool
Indica se o pool deve ser excluído após a conclusão do trabalho.
- is_positive_exit_code_failure
- bool
Indica se o trabalho falhará caso a tarefa exista com um código positivo.
- 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
.
- run_task_as_admin
- bool
Indica se a tarefa deve ser executada com privilégios de Administrador.
- target_compute_nodes
- int
Se create_pool
for True, indica quantos nós de computação serão adicionados ao pool.
- vm_size
- str
Se create_pool
for True, indica o tamanho da máquina virtual dos nós de computação.
- executable
- str
O nome do comando/executável que será executado como parte do trabalho.
- arguments
- list
Argumentos que devem ser usados ao chamar o módulo. Os argumentos podem ser cadeias de caracteres, 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 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
- create_sequencing_ports
- bool
Indica se as portas de sequenciamento serão criadas para o Módulo.
- hash_paths
- list
Uma lista de caminhos para hash ao verificar alterações no conteúdo da etapa. Se não houver alterações detectadas, o pipeline reutilizará o conteúdo da etapa de uma execução anterior. Por padrão, o conteúdo do source_directory
recebe o hash (exceto os arquivos listados em .amlignore ou .gitignore).
PRETERIDO: não é mais necessário.
- arguments
- list
Argumentos que devem ser usados ao chamar o módulo. Os argumentos podem ser cadeias de caracteres, referências de entrada (InputPortDef), referências de saída (OutputPortDef) e parâmetros de pipeline (PipelineParameter).
- runconfig
- RunConfiguration
Um RunConfiguration opcional. Um RunConfiguration pode ser usado para especificar requisitos adicionais para a execução, como as dependências do Conda e uma imagem do Docker.
Tipo de retorno
resolve
Resolva e retorne o ModuleVersion correto.
resolve(version=None)
Parâmetros
- version
Retornos
A versão do módulo a ser usada.
Tipo de retorno
set_default_version
Defina o ModuleVersion padrão do Módulo.
set_default_version(version_id)
Parâmetros
- version_id
Retornos
A versão padrão.
Tipo de retorno
Exceções
set_description
Defina a descrição do Módulo.
set_description(description)
Parâmetros
Exceções
set_name
Defina o nome do Módulo.
set_name(name)
Parâmetros
Exceções
Atributos
default_version
Obter a versão padrão do Módulo.
Retornos
A cadeia de caracteres de versão padrão.
Tipo de retorno
description
id
name
status
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de