PythonScriptStep Osztály
Létrehoz egy Python-szkriptet futtató Azure ML Pipeline-lépést.
A PythonScriptStep használatáról a jegyzetfüzetben https://aka.ms/pl-get-startedtalál példát.
Hozzon létre egy Python-szkriptet futtató Azure ML Pipeline-lépést.
- Öröklődés
-
azureml.pipeline.core._python_script_step_base._PythonScriptStepBasePythonScriptStep
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 rendszer a runconfigból származó célt fogja használni. 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, megadhat egy rekordot (számítási célnév, "számítási céltípus") a számítási célobjektum lekérésének elkerülése érdekében (az AmlCompute típusa "AmlCompute", a RemoteCompute típusa pedig "VirtualMachine"). Alapértelmezett érték: None
|
runconfig
|
A nem kötelező RunConfiguration használata. 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-lemezképeket. Ha nincs meghatározva, létrejön egy alapértelmezett runconfig. Alapértelmezett érték: None
|
runconfig_pipeline_params
|
A futtatókörnyezeti runconfig tulajdonságok 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ággal rendelkezik. 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és újra felhasználja-e a korábbi eredményeket, amikor ugyanazokat a beállításokat használja újra. 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ából származó kimenet újra felhasználva lesz. A lépés újbóli használata esetén 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 további lépésekhez. Ha az Azure Machine Learning-adathalmazokat 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 a mögöttes 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 kivonat elérési útjainak listája a lépés tartalmának módosításakor. Ha nem észlelhető változás, a folyamat újra felhasználja az előző futtatásból származó lépés tartalmát. Alapértelmezés szerint a tartalom 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 rendszer a runconfigból származó célt fogja használni. 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, megadhat egy rekordot (számítási célnév, "számítási céltípus") a számítási célobjektum lekérésének elkerülése érdekében (az AmlCompute típusa "AmlCompute", a RemoteCompute típusa pedig "VirtualMachine"). |
runconfig
Kötelező
|
A nem kötelező RunConfiguration használata. 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 futtatókörnyezeti runconfig tulajdonságok 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ággal rendelkezik. 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és újra felhasználja-e a korábbi eredményeket, amikor ugyanazokat a beállításokat használja újra. 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ából származó kimenet újra felhasználva lesz. A lépés újbóli használata esetén 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 további lépésekhez. Ha az Azure Machine Learning-adathalmazokat 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 a mögöttes 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 kivonat elérési útjainak listája a lépés tartalmának módosításakor. Ha nem észlelhető változás, a folyamat újra felhasználja az előző futtatásból származó lépés tartalmát. Alapértelmezés szerint a tartalom |
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 szkript nevét és egyéb opcionális paramétereket (például a szkript, a számítási cél, a bemenetek és kimenetek argumentumait) használja. 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. Az a RunConfiguration használatával a PythonScriptStep követelményeit is megadhatja, például conda-függőségeket és docker-lemezképeket.
A PythonScriptStep használatához ajánlott egy külön mappát használni a szkriptekhez és a lépéshez társított függő fájlokhoz, és meg kell adnia a mappát a source_directory
paraméterrel.
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 pillanatkép készül. Másodszor, az előző futtatásból származó lépés kimenete újra felhasználható, ha nincsenek olyan módosítások, source_directory
amelyek elindítanák a pillanatkép újrafeltöltését.
Az alábbi példakód egy PythonScriptStep használatát mutatja be egy 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 , PipelineOutputAbstractDatasetés PipelineData a bemenetek és kimenetek.
Az alábbiakban egy példa látható arra, hogyan használhatja Dataset lépésként a bemenetet és a kimenetet:
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, hogy példákat találjon más bemeneti/kimeneti típusok használatára.
Metódusok
create_node |
Hozzon létre egy csomópontot a PythonScriptStep számára, és adja hozzá a megadott gráfhoz. Ez a módszer nem használható közvetlenül. Ha 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, így a lépés hozzáadható a munkafolyamatot képviselő folyamatgráfhoz. |
create_node
Hozzon létre egy csomópontot a PythonScriptStep számára, és adja hozzá a megadott gráfhoz.
Ez a módszer nem használható közvetlenül. Ha 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, így a lépés hozzáadható a munkafolyamatot képviselő folyamatgráfhoz.
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. |