CommandStep Klass

Skapa ett Azure ML Pipeline-steg som kör ett kommando.

Skapa ett Azure ML Pipeline-steg som kör ett kommando.

Arv
azureml.pipeline.core._python_script_step_base._PythonScriptStepBase
CommandStep

Konstruktor

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)

Parametrar

command
list eller str
standardvärde: None

Kommandot som ska köras eller sökvägen för den körbara filen/skriptet i förhållande till source_directory. Det krävs om det inte är försett med runconfig. Den kan anges med strängargument i en enda sträng eller med input/output/PipelineParameter i en lista.

name
str
standardvärde: None

Namnet på steget. Om det är ospecificerat används det första ordet i .command

compute_target
DsvmCompute eller AmlCompute eller RemoteCompute eller HDInsightCompute eller str eller tuple
standardvärde: None

Beräkningsmålet som ska användas. Om det är ospecificerat används målet från runconfig . Den här parametern kan anges som ett beräkningsmålobjekt eller strängnamnet för ett beräkningsmål på arbetsytan. Om beräkningsmålet inte är tillgängligt när pipelinen skapas kan du ange en tupplar med ("beräkningsmålnamn", "beräkningsmåltyp") för att undvika att hämta beräkningsmålobjektet (AmlCompute-typen är "AmlCompute" och RemoteCompute-typen är "VirtualMachine").

runconfig
ScriptRunConfig eller RunConfiguration
standardvärde: None

Det valfria konfigurationsobjektet som kapslar in den information som krävs för att skicka en träningskörning i ett experiment.

runconfig_pipeline_params
<xref:<xref:{str: PipelineParameter}>>
standardvärde: None

Åsidosättningar av runconfig-egenskaper vid körning med nyckel/värde-par var och en med namnet på egenskapen runconfig och PipelineParameter för den egenskapen.

Värden som stöds: NodeCount, MpiProcessCountPerNode, TensorflowWorkerCount, TensorflowParameterServerCount

inputs
list[InputPortBinding eller DataReference eller PortDataReference eller PipelineData eller <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> eller DatasetConsumptionConfig]
standardvärde: None

En lista över indataportbindningar.

outputs
list[PipelineData eller OutputDatasetConfig eller PipelineOutputAbstractDataset eller OutputPortBinding]
standardvärde: None

En lista över portbindningar för utdata.

params
dict
standardvärde: None

En ordlista med namn/värde-par som registrerats som miljövariabler med "AML_PARAMETER_".

source_directory
str
standardvärde: None

En mapp som innehåller skript, conda env och andra resurser som används i steget.

allow_reuse
bool
standardvärde: True

Anger om steget ska återanvända tidigare resultat när det körs igen med samma inställningar. Återanvändning är aktiverat som standard. Om steginnehållet (skript/beroenden) samt indata och parametrar förblir oförändrade återanvänds utdata från föregående körning av det här steget. När du återanvänder steget, i stället för att skicka jobbet för beräkning, görs resultaten från den föregående körningen omedelbart tillgängliga för efterföljande steg. Om du använder Azure Machine Learning-datauppsättningar som indata bestäms återanvändningen av om datauppsättningens definition har ändrats, inte av om underliggande data har ändrats.

version
str
standardvärde: None

En valfri versionstagg som anger en funktionsändring för steget.

command
list eller str
Obligatorisk

Kommandot som ska köras eller sökvägen för den körbara filen/skriptet i förhållande till source_directory. Det krävs om det inte är försett med runconfig. Den kan anges med strängargument i en enda sträng eller med input/output/PipelineParameter i en lista.

name
str
Obligatorisk

Namnet på steget. Om det är ospecificerat används det första ordet i .command

compute_target
DsvmCompute eller AmlCompute eller RemoteCompute eller HDInsightCompute eller str eller tuple
Obligatorisk

Beräkningsmålet som ska användas. Om det är ospecificerat används målet från runconfig . Den här parametern kan anges som ett beräkningsmålobjekt eller strängnamnet för ett beräkningsmål på arbetsytan. Om beräkningsmålet inte är tillgängligt när pipelinen skapas kan du ange en tupplar med ("beräkningsmålnamn", "beräkningsmåltyp") för att undvika att hämta beräkningsmålobjektet (AmlCompute-typen är "AmlCompute" och RemoteCompute-typen är "VirtualMachine").

runconfig
ScriptRunConfig eller RunConfiguration
Obligatorisk

Det valfria konfigurationsobjektet som kapslar in den information som krävs för att skicka en träningskörning i ett experiment.

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

Åsidosättningar av runconfig-egenskaper vid körning med nyckel/värde-par var och en med namnet på egenskapen runconfig och PipelineParameter för den egenskapen.

Värden som stöds: NodeCount, MpiProcessCountPerNode, TensorflowWorkerCount, TensorflowParameterServerCount

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

En lista över indataportbindningar.

outputs
list[PipelineData eller OutputDatasetConfig eller PipelineOutputAbstractDataset eller OutputPortBinding]
Obligatorisk

En lista över portbindningar för utdata.

params
dict
Obligatorisk

En ordlista med namn/värde-par som registrerats som miljövariabler med "AML_PARAMETER_".

source_directory
str
Obligatorisk

En mapp som innehåller skript, conda env och andra resurser som används i steget.

allow_reuse
bool
Obligatorisk

Anger om steget ska återanvända tidigare resultat när det körs igen med samma inställningar. Återanvändning är aktiverat som standard. Om steginnehållet (skript/beroenden) samt indata och parametrar förblir oförändrade återanvänds utdata från föregående körning av det här steget. När du återanvänder steget, i stället för att skicka jobbet för beräkning, görs resultaten från den föregående körningen omedelbart tillgängliga för efterföljande steg. Om du använder Azure Machine Learning-datauppsättningar som indata bestäms återanvändningen av om datauppsättningens definition har ändrats, inte av om underliggande data har ändrats.

version
str
Obligatorisk

En valfri versionstagg som anger en funktionsändring för steget.

Kommentarer

Ett CommandStep är ett grundläggande, inbyggt steg för att köra ett kommando på det angivna beräkningsmålet. Det tar ett kommando som en parameter eller från andra parametrar som runconfig. Det tar även andra valfria parametrar som beräkningsmål, indata och utdata. Du bör använda en ScriptRunConfig eller RunConfiguration för att ange krav för CommandStep, till exempel anpassad docker-avbildning.

Det bästa sättet att arbeta med CommandStep är att använda en separat mapp för den körbara filen eller skriptet för att köra beroende filer som är associerade med steget och ange mappen med parametern source_directory . Att följa den här bästa metoden har två fördelar. Först hjälper det till att minska storleken på ögonblicksbilden som skapats för steget eftersom endast det som behövs för steget ögonblicksbilderas. För det andra kan stegets utdata från en tidigare körning återanvändas om det inte finns några ändringar i source_directory som skulle utlösa en återuppladdning av ögonblicksbilden.

För de system kända kommandona source_directory krävs inte, men du kan fortfarande ange alla beroende filer som är associerade med steget.

Följande kodexempel visar hur du använder ett CommandStep i ett maskininlärningsträningsscenario. Så här listar du filer i Linux:


   from azureml.pipeline.steps import CommandStep

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

Så här kör du ett Python-skript:


   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)

Så här kör du ett Python-skript via 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)

Mer https://aka.ms/pl-first-pipeline information om hur du skapar pipelines finns i allmänhet.

Metoder

create_node

Skapa en nod för CommandStep och lägg till den i det angivna diagrammet.

Den här metoden är inte avsedd att användas direkt. När en pipeline instansieras med det här steget skickar Azure ML automatiskt de parametrar som krävs via den här metoden så att steget kan läggas till i ett pipelinediagram som representerar arbetsflödet.

create_node

Skapa en nod för CommandStep och lägg till den i det angivna diagrammet.

Den här metoden är inte avsedd att användas direkt. När en pipeline instansieras med det här steget skickar Azure ML automatiskt de parametrar som krävs via den här metoden så att steget kan läggas till i ett pipelinediagram som representerar arbetsflödet.

create_node(graph, default_datastore, context)

Parametrar

graph
Graph
Obligatorisk

Grafobjektet som noden ska läggas till i.

default_datastore
AbstractAzureStorageDatastore eller AzureDataLakeDatastore
Obligatorisk

Standarddatalagringen.

context
<xref:_GraphContext>
Obligatorisk

Grafkontexten.

Returer

Den skapade noden.

Returtyp