PipelineData Osztály
Köztes adatokat jelöl egy Azure Machine Learning-folyamatban.
A folyamatokban használt adatok egy lépésben állíthatók elő, és egy másik lépésben használhatók fel egy PipelineData-objektum egy lépés kimeneteként, valamint egy vagy több későbbi lépés bemeneteként.
Ha a folyamatadatokat használja, győződjön meg arról, hogy a használt könyvtár létezett.
Egy Python-példa a könyvtár létezésének biztosítására, tegyük fel, hogy egy folyamatlépésben output_folder nevű kimeneti portot használ, és ebben a mappában szeretne adatokat írni a relatív elérési útra.
import os
os.makedirs(args.output_folder, exist_ok=True)
f = open(args.output_folder + '/relative_path/file_name', 'w+')
A PipelineData dataReference mögöttes módszert használ, amely már nem az adathozzáférés és -kézbesítés ajánlott megközelítése. Használja inkább az OutputFileDatasetConfig parancsot . Itt talál mintát: Folyamat outputFileDatasetConfig használatával.
PipelineData inicializálása.
- Öröklődés
-
builtins.objectPipelineData
Konstruktor
PipelineData(name, datastore=None, output_name=None, output_mode='mount', output_path_on_compute=None, output_overwrite=None, data_type=None, is_directory=None, pipeline_output_name=None, training_output=None)
Paraméterek
- name
- str
A PipelineData objektum neve, amely csak betűket, számjegyeket és aláhúzásjeleket tartalmazhat.
A PipelineData nevek egy lépés kimeneteinek azonosítására szolgálnak. A folyamatfuttatás befejezése után a lépésnév és a kimeneti név használatával érhet el egy adott kimenetet. A neveknek egyedinek kell lenniük egy folyamat egyetlen lépésén belül.
- datastore
- AbstractAzureStorageDatastore vagy AzureDataLakeDatastore
Azon adattár, amelyen a PipelineData található. Ha nincs meghatározva, a rendszer az alapértelmezett adattárat használja.
- output_name
- str
A kimenet neve, ha a Nincs nevet használja. Csak betűket, számjegyeket és aláhúzásjeleket tartalmazhat.
- output_mode
- str
Meghatározza, hogy a termelő lépés a "upload" vagy a "mount" metódust használja-e az adatok eléréséhez.
- output_path_on_compute
- str
A output_mode
= "upload" paraméter esetében ez a paraméter azt az elérési utat jelöli, amelybe a modul a kimenetet írja.
- output_overwrite
- bool
A output_mode
= "upload" paraméter esetében ez a paraméter határozza meg, hogy felülírja-e a meglévő adatokat.
- data_type
- str
Választható. Az adattípussal megadhatja a kimenet várt típusát, és részletezheti, hogy a felhasználó lépések hogyan használják az adatokat. Ez bármilyen felhasználó által definiált sztring lehet.
- is_directory
- bool
Megadja, hogy az adatok könyvtár vagy egyetlen fájl-e. Ez csak az Azure ML-háttérrendszer által használt adattípus meghatározására szolgál, ha a data_type
paraméter nincs megadva. Az alapértelmezett érték a Hamis.
- pipeline_output_name
Ha ez a kimenet elérhető lesz a használatával PipelineRun.get_pipeline_output()
. A folyamatkimenetek nevének egyedinek kell lennie a folyamatban.
- training_output
- TrainingOutput
Meghatározza a betanítási eredmény kimenetét. Ez csak bizonyos betanításokhoz szükséges, amelyek különböző típusú kimeneteket eredményeznek, például metrikákat és modelleket. Például metrikákat AutoMLStep és modellt eredményez. A legjobb modell eléréséhez meghatározott betanítási iterációt vagy metrikát is definiálhat. A esetében HyperDriveStepmegadhatja a kimenetbe felvenni kívánt modellfájlokat is.
- name
- str
A PipelineData objektum neve, amely csak betűket, számjegyeket és aláhúzásjeleket tartalmazhat.
A PipelineData nevek egy lépés kimeneteinek azonosítására szolgálnak. A folyamatfuttatás befejezése után a lépésnév és a kimeneti név használatával érhet el egy adott kimenetet. A neveknek egyedinek kell lenniük egy folyamat egyetlen lépésén belül.
- datastore
- AbstractAzureStorageDatastore vagy AzureDataLakeDatastore
Azon adattár, amelyen a PipelineData található. Ha nincs meghatározva, a rendszer az alapértelmezett adattárat használja.
- output_name
- str
A kimenet neve, ha a Nincs nevet használja. amelyek csak betűket, számjegyeket és aláhúzásjeleket tartalmazhatnak.
- output_mode
- str
Meghatározza, hogy a termelő lépés a "upload" vagy a "mount" metódust használja-e az adatok eléréséhez.
- output_path_on_compute
- str
A output_mode
= "upload" paraméter esetében ez a paraméter azt az elérési utat jelöli, amelybe a modul a kimenetet írja.
- output_overwrite
- bool
A output_mode
= "upload" paraméter esetében ez a paraméter határozza meg, hogy felülírja-e a meglévő adatokat.
- data_type
- str
Választható. Az adattípussal megadhatja a kimenet várt típusát, és részletezheti, hogy a felhasználó lépések hogyan használják az adatokat. Ez bármilyen felhasználó által definiált sztring lehet.
- is_directory
- bool
Megadja, hogy az adatok könyvtár vagy egyetlen fájl-e. Ez csak az Azure ML-háttérrendszer által használt adattípus meghatározására szolgál, ha a data_type
paraméter nincs megadva. Az alapértelmezett érték a Hamis.
- pipeline_output_name
- str
Ha ez a kimenet elérhető lesz a használatával PipelineRun.get_pipeline_output()
. A folyamatkimenetek nevének egyedinek kell lennie a folyamatban.
- training_output
- TrainingOutput
Meghatározza a betanítási eredmény kimenetét. Ez csak bizonyos betanításokhoz szükséges, amelyek különböző típusú kimeneteket eredményeznek, például metrikákat és modelleket. Például metrikákat AutoMLStep és modellt eredményez. A legjobb modell eléréséhez meghatározott betanítási iterációt vagy metrikát is definiálhat. A esetében HyperDriveStepmegadhatja a kimenetbe felvenni kívánt modellfájlokat is.
Megjegyzések
A PipelineData olyan adatkimenetet jelöl, amelyet a futtatáskor egy lépés hoz létre. A PipelineData használata a lépések létrehozásakor a lépés által létrehozott fájlok vagy könyvtárak leírásához. Ezek az adatkimenetek hozzá lesznek adva a megadott adattárhoz, és később lekérhetők és megtekinthetők.
A következő folyamatlépés például egy "modell" nevű kimenetet hoz létre:
from azureml.pipeline.core import PipelineData
from azureml.pipeline.steps import PythonScriptStep
datastore = ws.get_default_datastore()
step_output = PipelineData("model", datastore=datastore)
step = PythonScriptStep(script_name="train.py",
arguments=["--model", step_output],
outputs=[step_output],
compute_target=aml_compute,
source_directory=source_directory)
Ebben az esetben a train.py szkript az általa előállított modellt a -model argumentumon keresztül a szkript számára biztosított helyre írja.
PipelineData-objektumok a folyamatok létrehozásakor is használatosak a lépésfüggőségek leírására. Annak megadásához, hogy egy lépéshez egy másik lépés kimenete szükséges bemenetként, használjon pipelineData objektumot mindkét lépés konstruktorában.
A folyamat betanítása lépés például a folyamatfolyamat-lépés process_step_output kimenetétől függ:
from azureml.pipeline.core import Pipeline, PipelineData
from azureml.pipeline.steps import PythonScriptStep
datastore = ws.get_default_datastore()
process_step_output = PipelineData("processed_data", datastore=datastore)
process_step = PythonScriptStep(script_name="process.py",
arguments=["--data_for_train", process_step_output],
outputs=[process_step_output],
compute_target=aml_compute,
source_directory=process_directory)
train_step = PythonScriptStep(script_name="train.py",
arguments=["--data_for_train", process_step_output],
inputs=[process_step_output],
compute_target=aml_compute,
source_directory=train_directory)
pipeline = Pipeline(workspace=ws, steps=[process_step, train_step])
Ezzel létrehoz egy folyamatot két lépéssel. Először a folyamatlépés lesz végrehajtva, majd a folyamat befejezése után a rendszer végrehajtja a betanított lépést. Az Azure ML biztosítja a folyamatlépés által előállított kimenetet a betanított lépéshez.
Ezen az oldalon további példákat talál a PipelineData folyamat létrehozásához való használatára: https://aka.ms/pl-data-dep
Támogatott számítási típusok esetén a PipelineData használatával megadhatja, hogy a futtatás hogyan hozza létre és használja fel az adatokat. Két támogatott módszer létezik:
Csatlakoztatás (alapértelmezett): A bemeneti vagy kimeneti adatok a számítási csomópont helyi tárolójára vannak csatlakoztatva, és egy környezeti változó van beállítva, amely az adatok elérési útjára mutat ($AZUREML_DATAREFERENCE_name). A kényelem érdekében átadhatja a PipelineData objektumot az egyik argumentumként a szkriptnek, például a
arguments
paraméter PythonScriptStephasználatával, és az objektum feloldja az adatok elérési útját. Kimenetek esetén a számítási szkriptnek létre kell hoznia egy fájlt vagy könyvtárat ezen a kimeneti útvonalon. Ha meg szeretné tekinteni a Folyamat objektum argumentumként való átadásakor használt környezeti változó értékét, használja a metódust get_env_variable_name .Feltöltés: Adjon meg egy
output_path_on_compute
, a szkript által generált fájl- vagy könyvtárnévnek megfelelő nevet. (Ebben az esetben nem használunk környezeti változókat.)
Metódusok
as_dataset |
A köztes kimenet előléptetése adatkészletté. Ez az adatkészlet a lépés végrehajtása után fog létezni. Vegye figyelembe, hogy a kimenetet elő kell léptetni adathalmazként ahhoz, hogy a későbbi bemenetet adathalmazként lehessen használni. Ha as_dataset nincs meghívva a kimeneten, de csak a bemeneten van meghívva, akkor az egy noop lesz, és a bemenet nem lesz felhasználva adathalmazként. Az alábbi példakód a as_dataset helyes használatát mutatja be:
|
as_download |
Használja a PipelineData fájlt letöltésként. |
as_input |
Hozzon létre egy InputPortBindinget, és adjon meg egy bemeneti nevet (de használja az alapértelmezett módot). |
as_mount |
Használja a PipelineData-t csatlakoztatásként. |
create_input_binding |
Bemeneti kötés létrehozása. |
get_env_variable_name |
Adja vissza a PipelineData környezeti változójának nevét. |
as_dataset
A köztes kimenet előléptetése adatkészletté.
Ez az adatkészlet a lépés végrehajtása után fog létezni. Vegye figyelembe, hogy a kimenetet elő kell léptetni adathalmazként ahhoz, hogy a későbbi bemenetet adathalmazként lehessen használni. Ha as_dataset nincs meghívva a kimeneten, de csak a bemeneten van meghívva, akkor az egy noop lesz, és a bemenet nem lesz felhasználva adathalmazként. Az alábbi példakód a as_dataset helyes használatát mutatja be:
# as_dataset is called here and is passed to both the output and input of the next step.
pipeline_data = PipelineData('output').as_dataset()
step1 = PythonScriptStep(..., outputs=[pipeline_data])
step2 = PythonScriptStep(..., inputs=[pipeline_data])
as_dataset()
Válaszok
A köztes kimenet adatkészletként.
Visszatérési típus
as_download
Használja a PipelineData fájlt letöltésként.
as_download(input_name=None, path_on_compute=None, overwrite=None)
Paraméterek
- path_on_compute
- str
A számítási útvonal, amelyre le szeretné tölteni a fájlt.
- overwrite
- bool
A használatával jelezheti, hogy felülírja-e a meglévő adatokat.
Válaszok
Az InputPortBinding ezzel a PipelineData-val forrásként.
Visszatérési típus
as_input
Hozzon létre egy InputPortBindinget, és adjon meg egy bemeneti nevet (de használja az alapértelmezett módot).
as_input(input_name)
Paraméterek
Válaszok
Az InputPortBinding ezzel a PipelineData-val forrásként.
Visszatérési típus
as_mount
Használja a PipelineData-t csatlakoztatásként.
as_mount(input_name=None)
Paraméterek
Válaszok
Az InputPortBinding ezzel a PipelineData-val forrásként.
Visszatérési típus
create_input_binding
Bemeneti kötés létrehozása.
create_input_binding(input_name=None, mode=None, path_on_compute=None, overwrite=None)
Paraméterek
- mode
- str
A PipelineData elérésének módja ("csatlakoztatás" vagy "letöltés").
- path_on_compute
- str
A "letöltési" mód esetében az adatok számítási útvonala lesz meg.
Válaszok
Az InputPortBinding ezzel a PipelineData-val forrásként.
Visszatérési típus
get_env_variable_name
Adja vissza a PipelineData környezeti változójának nevét.
get_env_variable_name()
Válaszok
A környezeti változó neve.
Visszatérési típus
Attribútumok
data_type
datastore
Datastore the PipelineData will reside on.
Válaszok
Az Adattár objektum.
Visszatérési típus
name
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: