PythonScriptStep Třída

Vytvoří krok kanálu Azure ML, který spouští skript Pythonu.

Příklad použití PythonScriptStep najdete v poznámkovém bloku https://aka.ms/pl-get-started.

Vytvořte krok kanálu Azure ML, který spouští skript Pythonu.

Dědičnost
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)

Parametry

script_name
str
Vyžadováno

[Povinné] Název skriptu Pythonu vzhledem k source_directory.

name
str
výchozí hodnota: None

Název kroku. Pokud není zadán, script_name použije se.

arguments
list
výchozí hodnota: None

Argumenty příkazového řádku pro soubor skriptu Pythonu Argumenty se předají výpočetním prostředkům prostřednictvím parametru arguments v RunConfiguration. Další podrobnosti o zpracování argumentů, jako jsou speciální symboly, najdete v tématu RunConfiguration.

compute_target
Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
výchozí hodnota: None

[Povinné] Cílový výpočetní objekt, který se má použít. Pokud není zadaný, použije se cíl z runconfigu. Tento parametr je možné zadat jako cílový objekt výpočetního objektu nebo jako název řetězce cílového výpočetního objektu v pracovním prostoru. Volitelně, pokud cílový výpočetní objekt není při vytváření kanálu dostupný, můžete zadat řazenou kolekci členů ("název cílového výpočetního objektu", "cílový typ výpočetního objektu"), abyste se vyhnuli načtení cílového objektu výpočetního objektu (typ AmlCompute je AmlCompute a typ RemoteCompute je VirtualMachine).

runconfig
RunConfiguration
výchozí hodnota: None

Volitelná konfigurace RunConfiguration, která se má použít. RunConfiguration se dá použít k určení dalších požadavků pro spuštění, jako jsou závislosti Conda a image Dockeru. Pokud není zadáno, vytvoří se výchozí runconfig.

runconfig_pipeline_params
dict[str, PipelineParameter]
výchozí hodnota: None

Přepisuje vlastnosti runconfig za běhu pomocí párů klíč-hodnota s názvem vlastnosti runconfig a PipelineParameter pro danou vlastnost.

Podporované hodnoty: NodeCount, MpiProcessCountPerNode, TensorflowWorkerCount, TensorflowParameterServerCount

outputs
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
výchozí hodnota: None

Seznam výstupních vazeb portů.

params
dict
výchozí hodnota: None

Slovník párů název-hodnota zaregistrovaných jako proměnné prostředí s "AML_PARAMETER_".

source_directory
str
výchozí hodnota: None

Složka, která obsahuje skript Pythonu, env conda a další prostředky použité v kroku.

allow_reuse
bool
výchozí hodnota: True

Určuje, jestli má krok znovu použít předchozí výsledky při opětovném spuštění se stejným nastavením. Opakované použití je ve výchozím nastavení povolené. Pokud obsah kroku (skripty/závislosti) i vstupy a parametry zůstanou beze změny, výstup z předchozího spuštění tohoto kroku se znovu použije. Při opakovaném použití kroku se místo odeslání úlohy k výpočtu okamžitě zpřístupní výsledky z předchozího spuštění všem dalším krokům. Pokud jako vstupy použijete datové sady Azure Machine Learning, opakované použití závisí na tom, jestli se změnila definice datové sady, a ne na tom, jestli se změnila podkladová data.

version
str
výchozí hodnota: None

Volitelná značka verze, která označuje změnu funkčnosti kroku.

hash_paths
list
výchozí hodnota: None

ZASTARALÉ: už není potřeba.

Seznam cest k hodnotě hash při kontrole změn obsahu kroku Pokud se nezjistí žádné změny, kanál znovu použije obsah kroku z předchozího spuštění. Ve výchozím nastavení je obsah source_directory souboru hashován s výjimkou souborů uvedených v .amlignore nebo .gitignore.

script_name
str
Vyžadováno

[Povinné] Název skriptu Pythonu vzhledem k source_directory.

name
str
Vyžadováno

Název kroku. Pokud není zadán, script_name použije se.

arguments
[str]
Vyžadováno

Argumenty příkazového řádku pro soubor skriptu Pythonu Argumenty se předají výpočetním prostředkům prostřednictvím parametru arguments v RunConfiguration. Další podrobnosti o zpracování argumentů, jako jsou speciální symboly, najdete v tématu RunConfiguration.

compute_target
Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
Vyžadováno

[Povinné] Cílový výpočetní objekt, který se má použít. Pokud není zadaný, použije se cíl z runconfigu. Tento parametr je možné zadat jako cílový objekt výpočetního objektu nebo jako název řetězce cílového výpočetního objektu v pracovním prostoru. Volitelně, pokud cílový výpočetní objekt není při vytváření kanálu dostupný, můžete zadat řazenou kolekci členů ("název cílového výpočetního objektu", "cílový typ výpočetního objektu"), abyste se vyhnuli načtení cílového objektu výpočetního objektu (typ AmlCompute je AmlCompute a typ RemoteCompute je VirtualMachine).

runconfig
RunConfiguration
Vyžadováno

Volitelná konfigurace RunConfiguration, která se má použít. RunConfiguration se dá použít k určení dalších požadavků pro spuštění, jako jsou závislosti Conda a image Dockeru. Pokud není zadáno, vytvoří se výchozí runconfig.

runconfig_pipeline_params
dict[str, PipelineParameter]
Vyžadováno

Přepisuje vlastnosti runconfig za běhu pomocí párů klíč-hodnota s názvem vlastnosti runconfig a PipelineParameter pro danou vlastnost.

Podporované hodnoty: NodeCount, MpiProcessCountPerNode, TensorflowWorkerCount, TensorflowParameterServerCount

params
<xref:<xref:{str: str}>>
Vyžadováno

Slovník dvojic název-hodnota. Registrováno jako proměnné prostředí s ">>AML_PARAMETER_<<".

source_directory
str
Vyžadováno

Složka, která obsahuje skript Pythonu, env conda a další prostředky použité v kroku.

allow_reuse
bool
Vyžadováno

Určuje, jestli má krok znovu použít předchozí výsledky při opětovném spuštění se stejným nastavením. Opakované použití je ve výchozím nastavení povolené. Pokud obsah kroku (skripty/závislosti) i vstupy a parametry zůstanou beze změny, výstup z předchozího spuštění tohoto kroku se znovu použije. Při opakovaném použití kroku se místo odeslání úlohy k výpočtu okamžitě zpřístupní výsledky z předchozího spuštění všem dalším krokům. Pokud jako vstupy použijete datové sady Azure Machine Learning, opakované použití závisí na tom, jestli se změnila definice datové sady, a ne na tom, jestli se změnila podkladová data.

version
str
Vyžadováno

Volitelná značka verze, která označuje změnu funkčnosti kroku.

hash_paths
list
Vyžadováno

ZASTARALÉ: už není potřeba.

Seznam cest k hodnotě hash při kontrole změn obsahu kroku Pokud se nezjistí žádné změny, kanál znovu použije obsah kroku z předchozího spuštění. Ve výchozím nastavení je obsah source_directory souboru hashován s výjimkou souborů uvedených v .amlignore nebo .gitignore.

Poznámky

PythonScriptStep je základní integrovaný krok pro spuštění skriptu Pythonu na výpočetním cíli. Přebírá název skriptu a další volitelné parametry, jako jsou argumenty pro skript, cílový výpočetní objekt, vstupy a výstupy. Pokud není zadaný žádný cíl výpočetních prostředků, použije se výchozí cílový výpočetní prostor. Můžete také použít RunConfiguration k určení požadavků pro PythonScriptStep, jako jsou závislosti conda a image Dockeru.

Osvědčeným postupem pro práci s PythonScriptStepem je použít samostatnou složku pro skripty a všechny závislé soubory přidružené ke kroku a zadat tuto složku s parametrem source_directory . Dodržování tohoto osvědčeného postupu má dvě výhody. Za prvé to pomůže zmenšit velikost snímku vytvořeného pro krok, protože snímek se vytvoří jenom to, co je pro krok potřeba. Za druhé je možné znovu použít výstup kroku z předchozího spuštění, pokud nedojde k source_directory žádným změnám, které by aktivovaly opětovné nahrání snímku.

Následující příklad kódu ukazuje použití PythonScriptStep ve scénáři trénování strojového učení. Další podrobnosti o tomto příkladu najdete v tématu 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 podporují řadu vstupních a výstupních typů. Patří mezi ně DatasetConsumptionConfig vstupy a OutputDatasetConfig, PipelineOutputAbstractDataseta PipelineData pro vstupy a výstupy.

Níže je příklad použití Dataset jako vstupu a výstupu kroku:


   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)

Příklady použití jiných vstupních a výstupních typů najdete na odpovídajících stránkách dokumentace.

Metody

create_node

Vytvořte uzel pro PythonScriptStep a přidejte ho do zadaného grafu.

Tato metoda není určena k přímému použití. Když se vytvoří instance kanálu pomocí tohoto kroku, Azure ML automaticky předává požadované parametry prostřednictvím této metody, aby se tento krok mohl přidat do grafu kanálu, který představuje pracovní postup.

create_node

Vytvořte uzel pro PythonScriptStep a přidejte ho do zadaného grafu.

Tato metoda není určena k přímému použití. Když se vytvoří instance kanálu pomocí tohoto kroku, Azure ML automaticky předává požadované parametry prostřednictvím této metody, aby se tento krok mohl přidat do grafu kanálu, který představuje pracovní postup.

create_node(graph, default_datastore, context)

Parametry

graph
Graph
Vyžadováno

Objekt grafu, do který se má uzel přidat.

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Vyžadováno

Výchozí úložiště dat.

context
<xref:azureml.pipeline.core._GraphContext>
Vyžadováno

Kontext grafu.

Návraty

Vytvořený uzel.

Návratový typ