Compartir a través de


CommandStep Clase

Cree un paso de canalización de Azure ML que ejecute un comando.

Cree un paso de canalización de Azure ML que ejecute un comando.

Constructor

CommandStep(command=None, name=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, inputs=None, outputs=None, params=None, source_directory=None, allow_reuse=True, version=None)

Parámetros

Nombre Description
command
list o str

Comando que se va a ejecutar o ruta de acceso del ejecutable o script en relación con source_directory. Es necesario a menos que se proporcione con runconfig. Se puede especificar con argumentos de cadena en una sola cadena o con input/output/PipelineParameter en una lista.

Valor predeterminado: None
name
str

Nombre del paso. Si no se especifica, se usa la primera palabra de .command

Valor predeterminado: None
compute_target

Destino de proceso que se va a usar. Si no se especifica, se usa el destino de .runconfig Este parámetro se puede especificar como un objeto de destino de proceso o el nombre de cadena de un destino de proceso en el área de trabajo. Opcionalmente, si el destino de proceso no está disponible en el momento de la creación de la canalización, puede especificar una tupla de ("nombre de destino de proceso", "tipo de destino de proceso") para evitar capturar el objeto de destino de proceso (el tipo AmlCompute es "AmlCompute" y el tipo RemoteCompute es "VirtualMachine").

Valor predeterminado: None
runconfig

Objeto de configuración opcional que encapsula la información necesaria para enviar una ejecución de entrenamiento en un experimento.

Valor predeterminado: None
runconfig_pipeline_params
<xref:<xref:{str: PipelineParameter}>>

Invalida las propiedades runconfig en tiempo de ejecución mediante pares clave-valor cada uno con el nombre de la propiedad runconfig y PipelineParameter para esa propiedad.

Valores admitidos: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

Valor predeterminado: None
inputs
list[InputPortBinding o DataReference o PortDataReference o PipelineData o <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> o DatasetConsumptionConfig]

Lista de enlaces de puerto de entrada.

Valor predeterminado: None
outputs

Lista de enlaces de puerto de salida.

Valor predeterminado: None
params

Diccionario de pares nombre-valor registrados como variables de entorno con "AML_PARAMETER_".

Valor predeterminado: None
source_directory
str

Carpeta que contiene scripts, conda env y otros recursos usados en el paso.

Valor predeterminado: None
allow_reuse

Indica si el paso debe reutilizar los resultados anteriores al volver a ejecutarse con la misma configuración. La reutilización está habilitada de forma predeterminada. Si el contenido del paso (scripts o dependencias), así como las entradas y los parámetros permanecen sin cambios, se reutiliza la salida de la ejecución anterior de este paso. Al volver a usar el paso, en lugar de enviar el trabajo al proceso, los resultados de la ejecución anterior se pone inmediatamente a disposición de los pasos posteriores. Si usa conjuntos de datos de Azure Machine Learning como entradas, la reutilización viene determinada por si la definición del conjunto de datos ha cambiado, no por si los datos subyacentes han cambiado.

Valor predeterminado: True
version
str

Etiqueta de versión opcional para indicar un cambio en la funcionalidad del paso.

Valor predeterminado: None
command
Requerido
list o str

Comando que se va a ejecutar o ruta de acceso del ejecutable o script en relación con source_directory. Es necesario a menos que se proporcione con runconfig. Se puede especificar con argumentos de cadena en una sola cadena o con input/output/PipelineParameter en una lista.

name
Requerido
str

Nombre del paso. Si no se especifica, se usa la primera palabra de .command

compute_target
Requerido

Destino de proceso que se va a usar. Si no se especifica, se usa el destino de .runconfig Este parámetro se puede especificar como un objeto de destino de proceso o el nombre de cadena de un destino de proceso en el área de trabajo. Opcionalmente, si el destino de proceso no está disponible en el momento de la creación de la canalización, puede especificar una tupla de ("nombre de destino de proceso", "tipo de destino de proceso") para evitar capturar el objeto de destino de proceso (el tipo AmlCompute es "AmlCompute" y el tipo RemoteCompute es "VirtualMachine").

runconfig
Requerido

Objeto de configuración opcional que encapsula la información necesaria para enviar una ejecución de entrenamiento en un experimento.

runconfig_pipeline_params
Requerido
<xref:<xref:{str: PipelineParameter}>>

Invalida las propiedades runconfig en tiempo de ejecución mediante pares clave-valor cada uno con el nombre de la propiedad runconfig y PipelineParameter para esa propiedad.

Valores admitidos: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

inputs
Requerido
list[InputPortBinding o DataReference o PortDataReference o PipelineData o <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> o DatasetConsumptionConfig]

Lista de enlaces de puerto de entrada.

outputs
Requerido

Lista de enlaces de puerto de salida.

params
Requerido

Diccionario de pares nombre-valor registrados como variables de entorno con "AML_PARAMETER_".

source_directory
Requerido
str

Carpeta que contiene scripts, conda env y otros recursos usados en el paso.

allow_reuse
Requerido

Indica si el paso debe reutilizar los resultados anteriores al volver a ejecutarse con la misma configuración. La reutilización está habilitada de forma predeterminada. Si el contenido del paso (scripts o dependencias), así como las entradas y los parámetros permanecen sin cambios, se reutiliza la salida de la ejecución anterior de este paso. Al volver a usar el paso, en lugar de enviar el trabajo al proceso, los resultados de la ejecución anterior se pone inmediatamente a disposición de los pasos posteriores. Si usa conjuntos de datos de Azure Machine Learning como entradas, la reutilización viene determinada por si la definición del conjunto de datos ha cambiado, no por si los datos subyacentes han cambiado.

version
Requerido
str

Etiqueta de versión opcional para indicar un cambio en la funcionalidad del paso.

Comentarios

CommandStep es un paso básico integrado para ejecutar un comando en el destino de proceso determinado. Toma un comando como parámetro o de otros parámetros como runconfig. También toma otros parámetros opcionales, como el destino de proceso, las entradas y las salidas. Debe usar o ScriptRunConfigRunConfiguration para especificar los requisitos de CommandStep, como la imagen personalizada de Docker.

El procedimiento recomendado para trabajar con CommandStep es usar una carpeta independiente para el ejecutable o script para ejecutar los archivos dependientes asociados al paso y especificar esa carpeta con el source_directory parámetro . Seguir este procedimiento recomendado tiene dos ventajas. En primer lugar, ayuda a reducir el tamaño de la instantánea creada para el paso porque solo se instantánea lo que se necesita para el paso. En segundo lugar, la salida del paso de una ejecución anterior se puede reutilizar si no hay ningún cambio en que source_directory desencadenaría una nueva carga de la instantánea.

Para los comandos conocidos source_directory por el sistema no es necesario, pero todavía puede proporcionarlo con los archivos dependientes asociados al paso.

En el ejemplo de código siguiente se muestra cómo usar commandStep en un escenario de entrenamiento de aprendizaje automático. Para enumerar archivos en Linux:


   from azureml.pipeline.steps import CommandStep

   trainStep = CommandStep(name='list step',
                           command='ls -lrt',
                           compute_target=compute_target)

Para ejecutar un script de Python:


   from azureml.pipeline.steps import CommandStep

   trainStep = CommandStep(name='train step',
                           command='python train.py arg1 arg2',
                           source_directory=project_folder,
                           compute_target=compute_target)

Para ejecutar un script de Python mediante ScriptRunConfig:


   from azureml.core import ScriptRunConfig
   from azureml.pipeline.steps import CommandStep

   train_src = ScriptRunConfig(source_directory=script_folder,
                               command='python train.py arg1 arg2',
                               environment=my_env)
   trainStep = CommandStep(name='train step',
                           runconfig=train_src)

Consulte https://aka.ms/pl-first-pipeline para más información sobre cómo crear canalizaciones en general.

Métodos

create_node

Cree un nodo para CommandStep y agréguelo al gráfico especificado.

Este método no está pensado para usarse directamente. Cuando se crea una instancia de una canalización con este paso, Azure ML pasa automáticamente los parámetros necesarios a través de este método para que el paso se pueda agregar a un grafo de canalización que represente el flujo de trabajo.

create_node

Cree un nodo para CommandStep y agréguelo al gráfico especificado.

Este método no está pensado para usarse directamente. Cuando se crea una instancia de una canalización con este paso, Azure ML pasa automáticamente los parámetros necesarios a través de este método para que el paso se pueda agregar a un grafo de canalización que represente el flujo de trabajo.

create_node(graph, default_datastore, context)

Parámetros

Nombre Description
graph
Requerido

Objeto de grafo al que se va a agregar el nodo.

default_datastore
Requerido

Almacén de datos predeterminado.

context
Requerido
<xref:_GraphContext>

Contexto del grafo.

Devoluciones

Tipo Description

Nodo creado.