PythonScriptStep Klass

Skapar ett Azure ML Pipeline-steg som kör Python-skript.

Ett exempel på hur du använder PythonScriptStep finns i notebook-filen https://aka.ms/pl-get-started.

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

Arv
azureml.pipeline.core._python_script_step_base._PythonScriptStepBase
PythonScriptStep

Konstruktor

PythonScriptStep(script_name, name=None, arguments=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, inputs=None, outputs=None, params=None, source_directory=None, allow_reuse=True, version=None, hash_paths=None)

Parametrar

script_name
str
Obligatorisk

[Krävs] Namnet på ett Python-skript i förhållande till source_directory.

name
str
standardvärde: None

Namnet på steget. Om det är ospecificerat script_name används.

arguments
list
standardvärde: None

Kommandoradsargument för Python-skriptfilen. Argumenten skickas till beräkning via parametern arguments i RunConfiguration. Mer information om hur du hanterar argument som specialsymboler finns i RunConfiguration.

compute_target
Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
standardvärde: None

[Krävs] 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
RunConfiguration
standardvärde: None

Den valfria RunConfiguration som ska användas. En RunConfiguration kan användas för att ange ytterligare krav för körningen, till exempel conda-beroenden och en docker-avbildning. Om det är ospecificerat skapas en standardkörningskonfiguration.

runconfig_pipeline_params
dict[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

outputs
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, 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 Python-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.

hash_paths
list
standardvärde: None

INAKTUELL: behövs inte längre.

En lista över sökvägar till hash när du söker efter ändringar i steginnehållet. Om inga ändringar har identifierats återanvänder pipelinen steginnehållet från en tidigare körning. Som standard hashas innehållet source_directory i förutom filer som anges i .amlignore eller .gitignore.

script_name
str
Obligatorisk

[Krävs] Namnet på ett Python-skript i förhållande till source_directory.

name
str
Obligatorisk

Namnet på steget. Om det är ospecificerat script_name används.

arguments
[str]
Obligatorisk

Kommandoradsargument för Python-skriptfilen. Argumenten skickas till beräkning via parametern arguments i RunConfiguration. Mer information om hur du hanterar argument som specialsymboler finns i RunConfiguration.

compute_target
Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
Obligatorisk

[Krävs] 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
RunConfiguration
Obligatorisk

Den valfria RunConfiguration som ska användas. RunConfiguration kan användas för att ange ytterligare krav för körningen, till exempel conda-beroenden och en docker-avbildning. Om det är ospecificerat skapas en standardkörningskonfiguration.

runconfig_pipeline_params
dict[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

outputs
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
Obligatorisk

En lista över portbindningar för utdata.

params
<xref:<xref:{str: str}>>
Obligatorisk

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

source_directory
str
Obligatorisk

En mapp som innehåller Python-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.

hash_paths
list
Obligatorisk

INAKTUELL: behövs inte längre.

En lista över sökvägar till hash när du söker efter ändringar i steginnehållet. Om inga ändringar har identifierats återanvänder pipelinen steginnehållet från en tidigare körning. Som standard hashas innehållet source_directory i förutom filer som anges i .amlignore eller .gitignore.

Kommentarer

Ett PythonScriptStep är ett grundläggande, inbyggt steg för att köra ett Python-skript på ett beräkningsmål. Det tar ett skriptnamn och andra valfria parametrar som argument för skriptet, beräkningsmål, indata och utdata. Om inget beräkningsmål anges används standardberäkningsmålet för arbetsytan. Du kan också använda a RunConfiguration för att ange krav för PythonScriptStep, till exempel conda-beroenden och docker-avbildning.

Det bästa sättet att arbeta med PythonScriptStep är att använda en separat mapp för skript och 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öljande kodexempel visar hur du använder ett PythonScriptStep i ett scenario med maskininlärningsträning. Mer information om det här exemplet finns i https://aka.ms/pl-first-pipeline.


   from azureml.pipeline.steps import PythonScriptStep

   trainStep = PythonScriptStep(
       script_name="train.py",
       arguments=["--input", blob_input_data, "--output", output_data1],
       inputs=[blob_input_data],
       outputs=[output_data1],
       compute_target=compute_target,
       source_directory=project_folder
   )

PythonScriptSteps stöder ett antal in- och utdatatyper. Dessa omfattar DatasetConsumptionConfig indata och OutputDatasetConfig, PipelineOutputAbstractDatasetoch PipelineData för indata och utdata.

Nedan visas ett exempel på hur du använder Dataset indata och utdata i ett steg:


   from azureml.core import Dataset
   from azureml.pipeline.steps import PythonScriptStep
   from azureml.pipeline.core import Pipeline, PipelineData

   # get input dataset
   input_ds = Dataset.get_by_name(workspace, 'weather_ds')

   # register pipeline output as dataset
   output_ds = PipelineData('prepared_weather_ds', datastore=datastore).as_dataset()
   output_ds = output_ds.register(name='prepared_weather_ds', create_new_version=True)

   # configure pipeline step to use dataset as the input and output
   prep_step = PythonScriptStep(script_name="prepare.py",
                                inputs=[input_ds.as_named_input('weather_ds')],
                                outputs=[output_ds],
                                compute_target=compute_target,
                                source_directory=project_folder)

Se motsvarande dokumentationssidor för exempel på hur du använder andra typer av indata/utdata.

Metoder

create_node

Skapa en nod för PythonScriptStep och lägg till den i den angivna grafen.

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 PythonScriptStep och lägg till den i den angivna grafen.

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
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Obligatorisk

Standarddatalagringen.

context
<xref:azureml.pipeline.core._GraphContext>
Obligatorisk

Grafkontexten.

Returer

Den skapade noden.

Returtyp