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.
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
| Name | Description |
|---|---|
|
script_name
Vyžadováno
|
[Povinné] Název skriptu Pythonu vzhledem k |
|
name
|
Název kroku. Pokud není zadáno, Default value: None
|
|
arguments
|
Argumenty příkazového řádku pro soubor skriptu Pythonu Argumenty se předají výpočetním prostředkům prostřednictvím parametru Default value: None
|
|
compute_target
|
[Povinné] Cílový výpočetní objekt, který se má použít. Pokud není zadaný, použije se cíl z runconfigu. Tento parametr může být zadán 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 výpočetní cíl není k dispozici v době vytvoření kanálu, 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). Default value: None
|
|
runconfig
|
Volitelná konfigurace RunConfiguration, která se má použít. RunConfiguration lze použít k určení dalších požadavků na spuštění, jako jsou závislosti conda a image Dockeru. Pokud není zadaný, vytvoří se výchozí runconfig. Default value: None
|
|
runconfig_pipeline_params
|
Přepsání vlastností runconfig za běhu pomocí párů klíč-hodnota každý s názvem vlastnosti runconfig a PipelineParameter pro danou vlastnost. Podporované hodnoty: NodeCount, MpiProcessCountPerNode, TensorflowWorkerCount, TensorflowParameterServerCount Default value: None
|
|
inputs
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Seznam vstupních vazeb portů Default value: None
|
|
outputs
|
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
Seznam výstupních vazeb portů Default value: None
|
|
params
|
Slovník párů name-value registrovaných jako proměnné prostředí s "AML_PARAMETER_". Default value: None
|
|
source_directory
|
Složka, která obsahuje skript Pythonu, env conda a další prostředky použité v kroku. Default value: None
|
|
allow_reuse
|
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) a 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 opětovném použití kroku místo odeslání úlohy k výpočtu se výsledky předchozího spuštění okamžitě zpřístupní pro všechny následné kroky. Pokud jako vstupy používáte datové sady Azure Machine Learning, určuje se opakované použití podle toho, jestli se definice datové sady změnila, a ne tím, jestli se podkladová data změnila. Default value: True
|
|
version
|
Volitelná značka verze, která označuje změnu funkčnosti kroku. Default value: None
|
|
hash_paths
|
ZASTARALÉ: Už není potřeba. Seznam cest k hodnotě hash při kontrole změn v 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 Default value: None
|
|
script_name
Vyžadováno
|
[Povinné] Název skriptu Pythonu vzhledem k |
|
name
Vyžadováno
|
Název kroku. Pokud není zadáno, |
|
arguments
Vyžadováno
|
[str]
Argumenty příkazového řádku pro soubor skriptu Pythonu Argumenty se předají výpočetním prostředkům prostřednictvím parametru |
|
compute_target
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 může být zadán 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 výpočetní cíl není k dispozici v době vytvoření kanálu, 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
Vyžadováno
|
Volitelná konfigurace RunConfiguration, která se má použít. RunConfiguration lze použít k určení dalších požadavků na spuštění, jako jsou závislosti conda a image Dockeru. Pokud není zadaný, vytvoří se výchozí runconfig. |
|
runconfig_pipeline_params
Vyžadováno
|
Přepsání vlastností runconfig za běhu pomocí párů klíč-hodnota každý s názvem vlastnosti runconfig a PipelineParameter pro danou vlastnost. Podporované hodnoty: NodeCount, MpiProcessCountPerNode, TensorflowWorkerCount, TensorflowParameterServerCount |
|
inputs
Vyžadováno
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Seznam vstupních vazeb portů |
|
outputs
Vyžadováno
|
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
Seznam výstupních vazeb portů |
|
params
Vyžadováno
|
<xref:<xref:{str: str}>>
Slovník párů name-value. Zaregistrováno jako proměnné prostředí s výrazem ">>AML_PARAMETER_<<". |
|
source_directory
Vyžadováno
|
Složka, která obsahuje skript Pythonu, env conda a další prostředky použité v kroku. |
|
allow_reuse
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) a 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 opětovném použití kroku místo odeslání úlohy k výpočtu se výsledky předchozího spuštění okamžitě zpřístupní pro všechny následné kroky. Pokud jako vstupy používáte datové sady Azure Machine Learning, určuje se opakované použití podle toho, jestli se definice datové sady změnila, a ne tím, jestli se podkladová data změnila. |
|
version
Vyžadováno
|
Volitelná značka verze, která označuje změnu funkčnosti kroku. |
|
hash_paths
Vyžadováno
|
ZASTARALÉ: Už není potřeba. Seznam cest k hodnotě hash při kontrole změn v 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 |
Poznámky
PythonScriptStep je základní integrovaný krok pro spuštění skriptu Pythonu ve výpočetním cíli. Vezme 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ílový výpočetní objekt, použije se výchozí cílový výpočetní objekt pro pracovní 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 PythonScriptStep je použít samostatnou složku pro skripty a všechny závislé soubory přidružené k kroku a určit tuto složku s parametrem source_directory .
Následující osvědčený postup má dvě výhody. Za prvé pomáhá zmenšit velikost snímku vytvořeného pro tento krok, protože se snímek vyžaduje jenom v případě, že se tento krok potřebuje. Za druhé, výstup kroku z předchozího spuštění lze znovu použít, 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 podporuje řadu vstupních a výstupních typů. Patří mezi ně DatasetConsumptionConfig vstupy a OutputDatasetConfigPipelineOutputAbstractDataset, a 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 typů vstupu a výstupu 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á parametry požadované touto metodou, 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á parametry požadované touto metodou, aby se tento krok mohl přidat do grafu kanálu, který představuje pracovní postup.
create_node(graph, default_datastore, context)
Parametry
| Name | Description |
|---|---|
|
graph
Vyžadováno
|
Objekt grafu pro přidání uzlu. |
|
default_datastore
Vyžadováno
|
Výchozí úložiště dat. |
|
context
Vyžadováno
|
<xref:azureml.pipeline.core._GraphContext>
Kontext grafu |
Návraty
| Typ | Description |
|---|---|
|
Vytvořený uzel. |