CommandStep Classe
Creare un passaggio di Azure ML Pipeline che esegue un comando.
Creare un passaggio di Azure ML Pipeline che esegue un comando.
- Ereditarietà
-
azureml.pipeline.core._python_script_step_base._PythonScriptStepBaseCommandStep
Costruttore
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)
Parametri
Nome | Descrizione |
---|---|
command
|
Comando da eseguire o percorso del file eseguibile/script relativo a Valore predefinito: None
|
name
|
Nome del passaggio. Se non specificato, viene usata la prima parola nell'oggetto Valore predefinito: None
|
compute_target
|
Destinazione di calcolo da usare. Se non specificato, viene usata la destinazione dall'oggetto Valore predefinito: None
|
runconfig
|
ScriptRunConfig oppure
RunConfiguration
Oggetto di configurazione facoltativo che incapsula le informazioni necessarie per inviare un'esecuzione di training in un esperimento. Valore predefinito: None
|
runconfig_pipeline_params
|
<xref:<xref:{str: PipelineParameter}>>
Esegue l'override delle proprietà runconfig in fase di esecuzione usando coppie chiave-valore ognuna con il nome della proprietà runconfig e PipelineParameter per tale proprietà. Valori supportati: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount' Valore predefinito: None
|
inputs
|
list[InputPortBinding oppure
DataReference oppure
PortDataReference oppure
PipelineData oppure
<xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> oppure
DatasetConsumptionConfig]
Elenco di associazioni di porte di input. Valore predefinito: None
|
outputs
|
list[PipelineData oppure
OutputDatasetConfig oppure
PipelineOutputAbstractDataset oppure
OutputPortBinding]
Elenco di associazioni di porte di output. Valore predefinito: None
|
params
|
Dizionario delle coppie nome-valore registrate come variabili di ambiente con "AML_PARAMETER_". Valore predefinito: None
|
source_directory
|
Cartella contenente script, conda env e altre risorse usate nel passaggio. Valore predefinito: None
|
allow_reuse
|
Indica se il passaggio deve riutilizzare i risultati precedenti quando si esegue di nuovo con le stesse impostazioni. Il riutilizzo è abilitato per impostazione predefinita. Se il contenuto del passaggio (script/dipendenze) e gli input e i parametri rimangono invariati, l'output dell'esecuzione precedente di questo passaggio viene riutilizzato. Quando si riutilizza il passaggio, anziché inviare il processo al calcolo, i risultati dell'esecuzione precedente vengono immediatamente resi disponibili per tutti i passaggi successivi. Se si usano set di dati di Azure Machine Learning come input, il riutilizzo è determinato dal fatto che la definizione del set di dati sia stata modificata, non dal fatto che i dati sottostanti siano stati modificati. Valore predefinito: True
|
version
|
Un tag di versione facoltativo per indicare una modifica della funzionalità per il passaggio. Valore predefinito: None
|
command
Necessario
|
Comando da eseguire o percorso del file eseguibile/script relativo a |
name
Necessario
|
Nome del passaggio. Se non specificato, viene usata la prima parola nell'oggetto |
compute_target
Necessario
|
Destinazione di calcolo da usare. Se non specificato, viene usata la destinazione dall'oggetto |
runconfig
Necessario
|
ScriptRunConfig oppure
RunConfiguration
Oggetto di configurazione facoltativo che incapsula le informazioni necessarie per inviare un'esecuzione di training in un esperimento. |
runconfig_pipeline_params
Necessario
|
<xref:<xref:{str: PipelineParameter}>>
Esegue l'override delle proprietà runconfig in fase di esecuzione usando coppie chiave-valore ognuna con il nome della proprietà runconfig e PipelineParameter per tale proprietà. Valori supportati: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount' |
inputs
Necessario
|
list[InputPortBinding oppure
DataReference oppure
PortDataReference oppure
PipelineData oppure
<xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> oppure
DatasetConsumptionConfig]
Elenco di associazioni di porte di input. |
outputs
Necessario
|
list[PipelineData oppure
OutputDatasetConfig oppure
PipelineOutputAbstractDataset oppure
OutputPortBinding]
Elenco di associazioni di porte di output. |
params
Necessario
|
Dizionario delle coppie nome-valore registrate come variabili di ambiente con "AML_PARAMETER_". |
source_directory
Necessario
|
Cartella contenente script, conda env e altre risorse usate nel passaggio. |
allow_reuse
Necessario
|
Indica se il passaggio deve riutilizzare i risultati precedenti quando si esegue di nuovo con le stesse impostazioni. Il riutilizzo è abilitato per impostazione predefinita. Se il contenuto del passaggio (script/dipendenze) e gli input e i parametri rimangono invariati, l'output dell'esecuzione precedente di questo passaggio viene riutilizzato. Quando si riutilizza il passaggio, anziché inviare il processo al calcolo, i risultati dell'esecuzione precedente vengono immediatamente resi disponibili per tutti i passaggi successivi. Se si usano set di dati di Azure Machine Learning come input, il riutilizzo è determinato dal fatto che la definizione del set di dati sia stata modificata, non dal fatto che i dati sottostanti siano stati modificati. |
version
Necessario
|
Un tag di versione facoltativo per indicare una modifica della funzionalità per il passaggio. |
Commenti
CommandStep è un passaggio predefinito di base per eseguire un comando nella destinazione di calcolo specificata. Accetta un comando come parametro o da altri parametri come runconfig. Accetta anche altri parametri facoltativi come destinazione di calcolo, input e output. È consigliabile usare o ScriptRunConfigRunConfiguration per specificare i requisiti per l'immagine Docker personalizzata.
La procedura consigliata per l'uso con CommandStep consiste nell'usare una cartella separata per l'eseguibile o lo script per l'esecuzione di qualsiasi file dipendente associato al passaggio e specificare tale cartella con il source_directory
parametro . Seguendo questa procedura consigliata sono disponibili due vantaggi. Prima di tutto, consente di ridurre le dimensioni dello snapshot creato per il passaggio, perché solo ciò che è necessario per il passaggio viene snapshotto.
In secondo luogo, l'output del passaggio da un'esecuzione precedente può essere riutilizzato se non sono presenti modifiche all'oggetto source_directory
che attiva un nuovo caricamento dello snapshot.
Per i comandi source_directory
noti del sistema non è necessario, ma è comunque possibile specificarlo con tutti i file dipendenti associati al passaggio.
Nell'esempio di codice seguente viene illustrato come usare commandStep in uno scenario di training di Machine Learning. Per elencare i file in linux:
from azureml.pipeline.steps import CommandStep
trainStep = CommandStep(name='list step',
command='ls -lrt',
compute_target=compute_target)
Per eseguire uno script 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)
Per eseguire uno script python tramite 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)
Per altre informazioni sulla creazione di pipeline in generale, vedere https://aka.ms/pl-first-pipeline altre informazioni.
Metodi
create_node |
Creare un nodo per CommandStep e aggiungerlo al grafico specificato. Questo metodo non deve essere usato direttamente. Quando viene creata un'istanza di una pipeline con questo passaggio, Azure ML passa automaticamente i parametri necessari tramite questo metodo in modo che il passaggio possa essere aggiunto a un grafico della pipeline che rappresenta il flusso di lavoro. |
create_node
Creare un nodo per CommandStep e aggiungerlo al grafico specificato.
Questo metodo non deve essere usato direttamente. Quando viene creata un'istanza di una pipeline con questo passaggio, Azure ML passa automaticamente i parametri necessari tramite questo metodo in modo che il passaggio possa essere aggiunto a un grafico della pipeline che rappresenta il flusso di lavoro.
create_node(graph, default_datastore, context)
Parametri
Nome | Descrizione |
---|---|
graph
Necessario
|
Oggetto graph a cui aggiungere il nodo. |
default_datastore
Necessario
|
Archivio dati predefinito. |
context
Necessario
|
<xref:_GraphContext>
Contesto del grafico. |
Restituisce
Tipo | Descrizione |
---|---|
Nodo creato. |