Share via


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._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)

Paraméterek

script_name
str
Kötelező

[Kötelező] Egy Python-szkript neve a következőhöz source_directoryviszonyítva: .

name
str
alapértelmezett érték: None

A lépés neve. Ha nincs meghatározva, script_name akkor a függvényt használja.

arguments
list
alapértelmezett érték: None

A Python-szkriptfájl parancssori argumentumai. Az argumentumok a RunConfiguration paraméteren keresztül lesznek átadva a arguments számításnak. Az argumentumok, például a speciális szimbólumok kezelésének további részleteiért lásd: RunConfiguration.

compute_target
Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
alapértelmezett érték: None

[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
RunConfiguration
alapértelmezett érték: None

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.

runconfig_pipeline_params
dict[str, PipelineParameter]
alapértelmezett érték: None

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"

outputs
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
alapértelmezett érték: None

A kimeneti portkötések listája.

params
dict
alapértelmezett érték: None

A "AML_PARAMETER_" környezeti változóként regisztrált név-érték párok szótára.

source_directory
str
alapértelmezett érték: None

Python-szkriptet, conda env-t és a lépésben használt egyéb erőforrásokat tartalmazó mappa.

allow_reuse
bool
alapértelmezett érték: True

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
str
alapértelmezett érték: None

Választható verziócímke, amely a lépés funkcióváltozását jelzi.

hash_paths
list
alapértelmezett érték: None

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 source_directory kivonatolva van, kivéve az .amlignore vagy .gitignore fájlokat.

script_name
str
Kötelező

[Kötelező] Egy Python-szkript neve a következőhöz source_directoryviszonyítva: .

name
str
Kötelező

A lépés neve. Ha nincs meghatározva, script_name akkor a függvényt használja.

arguments
[str]
Kötelező

A Python-szkriptfájl parancssori argumentumai. Az argumentumok a RunConfiguration paraméteren keresztül lesznek átadva a arguments számításnak. Az argumentumok, például a speciális szimbólumok kezelésének további részleteiért lásd: RunConfiguration.

compute_target
Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
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
RunConfiguration
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
dict[str, PipelineParameter]
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"

params
<xref:<xref:{str: str}>>
Kötelező

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
str
Kötelező

Python-szkriptet, conda env-t és a lépésben használt egyéb erőforrásokat tartalmazó mappa.

allow_reuse
bool
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
str
Kötelező

Választható verziócímke, amely a lépés funkcióváltozását jelzi.

hash_paths
list
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 source_directory kivonatolva van, kivéve az .amlignore vagy .gitignore fájlokat.

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

graph
Graph
Kötelező

A csomópont hozzáadásához a gráfobjektum.

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Kötelező

Az alapértelmezett adattár.

context
<xref:azureml.pipeline.core._GraphContext>
Kötelező

A gráfkörnyezet.

Válaszok

A létrehozott csomópont.

Visszatérési típus