Compartir a través de


CommandStep Clase

Cree un paso de Azure ML Pipeline que ejecute un comando.

Cree un paso de Azure ML Pipeline que ejecute un comando.

Herencia
azureml.pipeline.core._python_script_step_base._PythonScriptStepBase
CommandStep

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

command
list o str
valor predeterminado: None

Comando que se ejecuta o ruta de acceso del ejecutable o script con respecto a 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
str
valor predeterminado: None

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

compute_target
DsvmCompute o AmlCompute o RemoteCompute o HDInsightCompute o str o tuple
valor predeterminado: None

El destino de proceso que se 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 de AmlCompute es "AmlCompute" y el tipo de RemoteCompute es "VirtualMachine").

runconfig
ScriptRunConfig o RunConfiguration
valor predeterminado: None

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

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

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

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

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

Una lista de enlaces de puerto de entrada.

outputs
list[PipelineData o OutputDatasetConfig o PipelineOutputAbstractDataset o OutputPortBinding]
valor predeterminado: None

Una lista de enlaces de puerto de salida.

params
dict
valor predeterminado: None

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

source_directory
str
valor predeterminado: None

Carpeta que contiene los scripts, el entorno Conda y otros recursos usados en el paso.

allow_reuse
bool
valor predeterminado: True

Indica si el paso debe volver a usar los resultados anteriores cuando se ejecuta con la misma configuración o entrada. La reutilización está habilitada de manera 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 hacen disponibles inmediatamente para 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
str
valor predeterminado: None

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

command
list o str
Requerido

Comando que se ejecuta o ruta de acceso del ejecutable o script con respecto a 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
str
Requerido

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

compute_target
DsvmCompute o AmlCompute o RemoteCompute o HDInsightCompute o str o tuple
Requerido

El destino de proceso que se 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 de AmlCompute es "AmlCompute" y el tipo de RemoteCompute es "VirtualMachine").

runconfig
ScriptRunConfig o RunConfiguration
Requerido

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

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

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

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

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

Una lista de enlaces de puerto de entrada.

outputs
list[PipelineData o OutputDatasetConfig o PipelineOutputAbstractDataset o OutputPortBinding]
Requerido

Una lista de enlaces de puerto de salida.

params
dict
Requerido

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

source_directory
str
Requerido

Carpeta que contiene los scripts, el entorno Conda y otros recursos usados en el paso.

allow_reuse
bool
Requerido

Indica si el paso debe volver a usar los resultados anteriores cuando se ejecuta con la misma configuración o entrada. La reutilización está habilitada de manera 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 hacen disponibles inmediatamente para 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
str
Requerido

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

Comentarios

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

El procedimiento recomendado para trabajar con CommandStep es usar una carpeta independiente para el archivo ejecutable o el script para ejecutar los archivos dependientes asociados al paso y especificar esa carpeta con el parámetro source_directory. 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 crea una instantánea de 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 source_directory que desencadene una nueva carga de la instantánea.

Para los comandos conocidos del sistema source_directory no es necesario, pero puede proporcionarlo con los archivos dependientes asociados al paso.

En el ejemplo de código siguiente se muestra cómo usar un 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 obtener más detalles sobre la creación de canalizaciones en general.

Métodos

create_node

Cree un nodo para CommandStep y agréguelo al grafo especificado.

No se debe llamar a este método 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 ese paso se pueda agregar a un gráfico de canalización que represente el flujo de trabajo.

create_node

Cree un nodo para CommandStep y agréguelo al grafo especificado.

No se debe llamar a este método 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 ese paso se pueda agregar a un gráfico de canalización que represente el flujo de trabajo.

create_node(graph, default_datastore, context)

Parámetros

graph
Graph
Requerido

El objeto de grafo al que se agrega el nodo.

default_datastore
AbstractAzureStorageDatastore o AzureDataLakeDatastore
Requerido

El almacén de datos predeterminado.

context
<xref:_GraphContext>
Requerido

El contexto del grafo.

Devoluciones

El nodo creado.

Tipo de valor devuelto