PythonScriptStep Osztály
Létrehoz egy Python-szkriptet futtató Azure ML Pipeline-lépést.
A PythonScriptStep használatára példaként tekintse meg a jegyzetfüzetet https://aka.ms/pl-get-started.
Hozzon létre egy Python-szkriptet futtató Azure ML Pipeline-lépést.
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)
Paraméterek
| Name | Description |
|---|---|
|
script_name
Kötelező
|
[Kötelező] Egy Python-szkript neve a következőhöz |
|
name
|
A lépés neve. Ha nincs meghatározva, Alapértelmezett érték: None
|
|
arguments
|
A Python-szkriptfájl parancssori argumentumai. Az argumentumok a RunConfiguration paraméteren keresztül lesznek átadva a Alapértelmezett érték: None
|
|
compute_target
|
[Kötelező] A használni kívánt számítási cél. Ha nincs meghatározva, a runconfigból származó cél lesz használva. Ez a paraméter megadható számítási célobjektumként vagy egy számítási cél sztringneveként a munkaterületen. Ha a számítási cél nem érhető el a folyamat létrehozásakor, a számítási célobjektum beolvasásának elkerülése érdekében megadhat egy rekordot ("számítási cél neve", "számítási cél típusa"). Ha a számítási célobjektum nem érhető el (az AmlCompute típus az "AmlCompute", a RemoteCompute típusa pedig "VirtualMachine"). Alapértelmezett érték: None
|
|
runconfig
|
A nem kötelező RunConfiguration. A RunConfiguration használatával további követelményeket is megadhat a futtatáshoz, például conda-függőségeket és docker-rendszerképeket. Ha nincs meghatározva, létrejön egy alapértelmezett runconfig. Alapértelmezett érték: None
|
|
runconfig_pipeline_params
|
A runconfig tulajdonságok futásidőben történő felülbírálása kulcs-érték párok használatával, amelyek mindegyike a runconfig tulajdonság nevével és a PipelineParameter tulajdonság nevével van megadva. Támogatott értékek: "NodeCount", "MpiProcessCountPerNode", "TensorflowWorkerCount", "TensorflowParameterServerCount" Alapértelmezett érték: None
|
|
inputs
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
A bemenetiport-kötések listája. Alapértelmezett érték: None
|
|
outputs
|
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
A kimeneti portkötések listája. Alapértelmezett érték: None
|
|
params
|
A "AML_PARAMETER_" környezeti változóként regisztrált név-érték párok szótára. Alapértelmezett érték: None
|
|
source_directory
|
Python-szkriptet, conda env-t és a lépésben használt egyéb erőforrásokat tartalmazó mappa. Alapértelmezett érték: None
|
|
allow_reuse
|
Azt jelzi, hogy a lépésnek újra kell-e használnia a korábbi eredményeket ugyanazokkal a beállításokkal való újrafuttatáskor. Az újrafelhasználás alapértelmezés szerint engedélyezve van. Ha a lépés tartalma (szkriptek/függőségek), valamint a bemenetek és paraméterek változatlanok maradnak, a lépés előző futtatásának kimenete újra felhasználható. A lépés újrahasználásakor a feladat számítási feladatként való elküldése helyett az előző futtatás eredményei azonnal elérhetővé válnak a következő lépésekhez. Ha az Azure Machine Learning-adatkészleteket használja bemenetként, az újrafelhasználást az határozza meg, hogy az adathalmaz definíciója megváltozott-e, nem pedig az, hogy az alapul szolgáló adatok megváltoztak-e. Alapértelmezett érték: True
|
|
version
|
Választható verziócímke, amely a lépés funkcióváltozását jelzi. Alapértelmezett érték: None
|
|
hash_paths
|
ELAVULT: már nincs rá szükség. A kivonatolási útvonalak listája a lépés tartalmának módosításakor. Ha nem észlelhető változás, a folyamat újra felhasználja a lépés tartalmát egy korábbi futtatásból. Alapértelmezés szerint a rendszer Alapértelmezett érték: None
|
|
script_name
Kötelező
|
[Kötelező] Egy Python-szkript neve a következőhöz |
|
name
Kötelező
|
A lépés neve. Ha nincs meghatározva, |
|
arguments
Kötelező
|
[str]
A Python-szkriptfájl parancssori argumentumai. Az argumentumok a RunConfiguration paraméteren keresztül lesznek átadva a |
|
compute_target
Kötelező
|
[Kötelező] A használni kívánt számítási cél. Ha nincs meghatározva, a runconfigból származó cél lesz használva. Ez a paraméter megadható számítási célobjektumként vagy egy számítási cél sztringneveként a munkaterületen. Ha a számítási cél nem érhető el a folyamat létrehozásakor, a számítási célobjektum beolvasásának elkerülése érdekében megadhat egy rekordot ("számítási cél neve", "számítási cél típusa"). Ha a számítási célobjektum nem érhető el (az AmlCompute típus az "AmlCompute", a RemoteCompute típusa pedig "VirtualMachine"). |
|
runconfig
Kötelező
|
A nem kötelező RunConfiguration. A RunConfiguration használatával további követelményeket adhat meg a futtatáshoz, például conda-függőségeket és docker-rendszerképeket. Ha nincs meghatározva, létrejön egy alapértelmezett runconfig. |
|
runconfig_pipeline_params
Kötelező
|
A runconfig tulajdonságok futásidőben történő felülbírálása kulcs-érték párok használatával, amelyek mindegyike a runconfig tulajdonság nevével és a PipelineParameter tulajdonság nevével van megadva. Támogatott értékek: "NodeCount", "MpiProcessCountPerNode", "TensorflowWorkerCount", "TensorflowParameterServerCount" |
|
inputs
Kötelező
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
A bemenetiport-kötések listája. |
|
outputs
Kötelező
|
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
A kimeneti portkötések listája. |
|
params
Kötelező
|
<xref:<xref:{str: str}>>
Név-érték párok szótára. Környezeti változókként regisztrálva a ">>AML_PARAMETER_<<" használatával. |
|
source_directory
Kötelező
|
Python-szkriptet, conda env-t és a lépésben használt egyéb erőforrásokat tartalmazó mappa. |
|
allow_reuse
Kötelező
|
Azt jelzi, hogy a lépésnek újra kell-e használnia a korábbi eredményeket ugyanazokkal a beállításokkal való újrafuttatáskor. Az újrafelhasználás alapértelmezés szerint engedélyezve van. Ha a lépés tartalma (szkriptek/függőségek), valamint a bemenetek és paraméterek változatlanok maradnak, a lépés előző futtatásának kimenete újra felhasználható. A lépés újrahasználásakor a feladat számítási feladatként való elküldése helyett az előző futtatás eredményei azonnal elérhetővé válnak a következő lépésekhez. Ha az Azure Machine Learning-adatkészleteket használja bemenetként, az újrafelhasználást az határozza meg, hogy az adathalmaz definíciója megváltozott-e, nem pedig az, hogy az alapul szolgáló adatok megváltoztak-e. |
|
version
Kötelező
|
Választható verziócímke, amely a lépés funkcióváltozását jelzi. |
|
hash_paths
Kötelező
|
ELAVULT: már nincs rá szükség. A kivonatolási útvonalak listája a lépés tartalmának módosításakor. Ha nem észlelhető változás, a folyamat újra felhasználja a lépés tartalmát egy korábbi futtatásból. Alapértelmezés szerint a rendszer |
Megjegyzések
A PythonScriptStep egy alapszintű, beépített lépés egy Python-szkript számítási célon való futtatásához. A parancsprogram neve és egyéb választható paraméterek, például a szkript argumentumai, a számítási cél, a bemenetek és a kimenetek. Ha nincs megadva számítási cél, a rendszer a munkaterület alapértelmezett számítási célját használja. A PythonScriptStep követelményeit is RunConfiguration megadhatja, például a Conda-függőségeket és a Docker-rendszerképet.
A PythonScriptStep használatának ajánlott eljárása egy külön mappa használata szkriptekhez és a lépéshez társított függő fájlokhoz, és a paraméterrel rendelkező source_directory mappa megadása.
Ennek az ajánlott eljárásnak a követése két előnnyel jár. Először is segít csökkenteni a lépéshez létrehozott pillanatkép méretét, mert csak a lépéshez szükséges adatok lesznek pillanatképek. Másodszor, a lépés előző futtatásból származó kimenete újra felhasználható, ha nincs olyan módosítás, source_directory amely aktiválná a pillanatkép újrafeltöltését.
Az alábbi példakód egy PythonScriptStep használatát mutatja be gépi tanulási betanítási forgatókönyvben. A példával kapcsolatos további részletekért lásd: 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
)
A PythonScriptSteps számos bemeneti és kimeneti típust támogat. Ezek közé tartoznak DatasetConsumptionConfig a bemenetek és OutputDatasetConfiga kimenetek PipelineOutputAbstractDataset, valamint PipelineData a bemenetek és kimenetek.
Az alábbiakban egy példa látható a lépés bemeneteként és kimeneteként való használatra Dataset :
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)
Hivatkozzon a megfelelő dokumentációs oldalakra más bemeneti/kimeneti típusok használatára.
Metódusok
| create_node |
Hozzon létre egy csomópontot a PythonScriptStephez, és adja hozzá a megadott gráfhoz. Ez a módszer nem használható közvetlenül. Amikor ezzel a lépéssel példányosít egy folyamatot, az Azure ML automatikusan átadja a szükséges paramétereket ezen a módszeren keresztül, hogy a lépés hozzáadható legyen a munkafolyamatot képviselő folyamatdiagramhoz. |
create_node
Hozzon létre egy csomópontot a PythonScriptStephez, és adja hozzá a megadott gráfhoz.
Ez a módszer nem használható közvetlenül. Amikor ezzel a lépéssel példányosít egy folyamatot, az Azure ML automatikusan átadja a szükséges paramétereket ezen a módszeren keresztül, hogy a lépés hozzáadható legyen a munkafolyamatot képviselő folyamatdiagramhoz.
create_node(graph, default_datastore, context)
Paraméterek
| Name | Description |
|---|---|
|
graph
Kötelező
|
A csomópont hozzáadásához a gráfobjektum. |
|
default_datastore
Kötelező
|
Az alapértelmezett adattár. |
|
context
Kötelező
|
<xref:azureml.pipeline.core._GraphContext>
A gráfkörnyezet. |
Válaszok
| Típus | Description |
|---|---|
|
A létrehozott csomópont. |