PipelineData Osztály
Köztes adatokat jelöl egy Azure Machine Learning-folyamatban.
A folyamatban használt adatok egy lépéssel hozhatók létre, és egy másik lépésben felhasználhatók egy PipelineData objektum egy lépés kimeneteként, valamint egy vagy több tová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étezik.
Egy Python-példa a könyvtár létezésének ellenőrzésére. Tegyük fel, hogy egy output_folder nevű kimeneti portot használ egy folyamatlépésben, é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 az adatkézbesítés ajánlott megközelítése. Használja inkább az OutputFileDatasetConfig parancsot. A minta itt található: Folyamat az 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 | Description |
---|---|
name
Kötelező
|
A PipelineData objektum neve, amely csak betűket, számjegyeket és aláhúzásokat tartalmazhat. A PipelineData-nevek egy lépés kimeneteinek azonosítására szolgálnak. A folyamatfuttatás befejeződése után a lépésnév és a kimeneti név használatával érhet el egy adott kimenetet. A neveknek egy folyamat egyetlen lépésében egyedinek kell lenniük. |
datastore
|
A PipelineData adattára. Ha nincs meghatározva, a rendszer az alapértelmezett adattárat használja. alapértelmezett érték: None
|
output_name
|
A kimenet neve, ha Nincs név van használva. Csak betűket, számjegyeket és aláhúzásokat tartalmazhat. alapértelmezett érték: None
|
output_mode
|
Azt határozza meg, hogy a termelő lépés a "upload" vagy a "mount" metódust használja-e az adatok eléréséhez. alapértelmezett érték: mount
|
output_path_on_compute
|
A = "upload" paraméter alapértelmezett érték: None
|
output_overwrite
|
A = "upload" paraméter esetében alapértelmezett érték: None
|
data_type
|
Választható. Az adattípussal megadhatja a kimenet várt típusát, és részletezheti, hogy a használati lépések hogyan használják az adatokat. Bármilyen felhasználó által definiált sztring lehet. alapértelmezett érték: None
|
is_directory
|
Azt határozza meg, 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 alapértelmezett érték: None
|
pipeline_output_name
|
Ha ez a kimenet a használatával alapértelmezett érték: None
|
training_output
|
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 modelleket eredményez. A legjobb modell eléréséhez meghatározott betanítási iterációt vagy metrikát is meghatározhat. A esetében HyperDriveStepmegadhatja a kimenetbe felvenni kívánt modellfájlokat is. alapértelmezett érték: None
|
name
Kötelező
|
A PipelineData objektum neve, amely csak betűket, számjegyeket és aláhúzásokat tartalmazhat. A PipelineData-nevek egy lépés kimeneteinek azonosítására szolgálnak. A folyamatfuttatás befejeződése után a lépésnév és a kimeneti név használatával érhet el egy adott kimenetet. A neveknek egy folyamat egyetlen lépésében egyedinek kell lenniük. |
datastore
Kötelező
|
A PipelineData adattára. Ha nincs meghatározva, a rendszer az alapértelmezett adattárat használja. |
output_name
Kötelező
|
A kimenet neve, ha Nincs név van használva. amelyek csak betűket, számjegyeket és aláhúzásokat tartalmazhatnak. |
output_mode
Kötelező
|
Azt határozza meg, 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
Kötelező
|
A = "upload" paraméter |
output_overwrite
Kötelező
|
A = "upload" paraméter esetében |
data_type
Kötelező
|
Választható. Az adattípussal megadhatja a kimenet várt típusát, és részletezheti, hogy a használati lépések hogyan használják az adatokat. Bármilyen felhasználó által definiált sztring lehet. |
is_directory
Kötelező
|
Azt határozza meg, 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 |
pipeline_output_name
Kötelező
|
Ha ez a kimenet a használatával |
training_output
Kötelező
|
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 modelleket eredményez. A legjobb modell eléréséhez meghatározott betanítási iterációt vagy metrikát is meghatározhat. A esetében HyperDriveStepmegadhatja a kimenetbe felvenni kívánt modellfájlokat is. |
Megjegyzések
A PipelineData a futtatáskor egy lépés által előállított adatkimenetet jelöli. A PipelineData használatával a lépések létrehozásakor leírhatja a lépés által generált fájlokat vagy könyvtárakat. 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 a -model argumentumon keresztül a szkriptnek megadott helyre írja a létrehozott modellt.
PipelineData-objektumok a folyamatok létrehozásakor is használatosak a lépésfüggőségek leírására. Ha meg szeretné adni, 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 betanított lépés lesz végrehajtva. 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 használatával folyamat létrehozásához: https://aka.ms/pl-data-dep
A támogatott számítási típusok esetében 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). Az egyszerűség kedvéért a PipelineData objektumot az argumentumok egyikeként adhatja át a szkriptnek, például a
arguments
paraméterrel PythonScriptStep, é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. A Folyamat objektum argumentumként való átadásakor használt környezeti változó értékének megtekintéséhez 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őt. (Ebben az esetben nem használunk környezeti változókat.)
Metódusok
as_dataset |
Előlépteti a köztes kimenetet egy adathalmazba. Ez az adatkészlet a lépés végrehajtása után fog létezni. Vegye figyelembe, hogy a kimenetet elő kell mozdítani adathalmazként ahhoz, hogy a későbbi bemenet adathalmazként legyen felhasználva. 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 adatkészletként felhasználva. Az alábbi példakód a as_dataset helyes használatát mutatja be:
|
as_download |
Használja a PipelineData-t letöltésként. |
as_input |
Létrehozás egy InputPortBinding parancsot, é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 |
Létrehozás bemeneti kötés. |
get_env_variable_name |
Adja vissza a PipelineData környezeti változójának nevét. |
as_dataset
Előlépteti a köztes kimenetet egy adathalmazba.
Ez az adatkészlet a lépés végrehajtása után fog létezni. Vegye figyelembe, hogy a kimenetet elő kell mozdítani adathalmazként ahhoz, hogy a későbbi bemenet adathalmazként legyen felhasználva. 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 adatkészletként felhasználva. 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
Típus | Description |
---|---|
A köztes kimenet adatkészletként. |
as_download
Használja a PipelineData-t letöltésként.
as_download(input_name=None, path_on_compute=None, overwrite=None)
Paraméterek
Name | Description |
---|---|
input_name
|
A bemenet nevének megadására használható. alapértelmezett érték: None
|
path_on_compute
|
A számítási útvonal, amelyre le szeretné tölteni a fájlt. alapértelmezett érték: None
|
overwrite
|
A használatával jelezheti, hogy felülírja-e a meglévő adatokat. alapértelmezett érték: None
|
Válaszok
Típus | Description |
---|---|
Az InputPortBinding ezzel a PipelineData-val forrásként. |
as_input
Létrehozás egy InputPortBinding parancsot, és adjon meg egy bemeneti nevet (de használja az alapértelmezett módot).
as_input(input_name)
Paraméterek
Name | Description |
---|---|
input_name
Kötelező
|
A bemenet nevének megadására használható. |
Válaszok
Típus | Description |
---|---|
Az InputPortBinding ezzel a PipelineData-val forrásként. |
as_mount
Használja a PipelineData-t csatlakoztatásként.
as_mount(input_name=None)
Paraméterek
Name | Description |
---|---|
input_name
|
A bemenet nevének megadására használható. alapértelmezett érték: None
|
Válaszok
Típus | Description |
---|---|
Az InputPortBinding ezzel a PipelineData-val forrásként. |
create_input_binding
Létrehozás bemeneti kötés.
create_input_binding(input_name=None, mode=None, path_on_compute=None, overwrite=None)
Paraméterek
Name | Description |
---|---|
input_name
|
A bemenet neve. alapértelmezett érték: None
|
mode
|
A PipelineData ("csatlakoztatás" vagy "letöltés") elérésének módja. alapértelmezett érték: None
|
path_on_compute
|
A "letöltési" mód esetében az adatok számítási útvonala fog elhelyezkedni. alapértelmezett érték: None
|
overwrite
|
A "letöltési" mód esetében adja meg, hogy felülírja-e a meglévő adatokat. alapértelmezett érték: None
|
Válaszok
Típus | Description |
---|---|
Az InputPortBinding ezzel a PipelineData-val forrásként. |
get_env_variable_name
Adja vissza a PipelineData környezeti változójának nevét.
get_env_variable_name()
Válaszok
Típus | Description |
---|---|
A környezeti változó neve. |
Attribútumok
data_type
datastore
Adattár, amelyen a PipelineData található.
Válaszok
Típus | Description |
---|---|
Az Adattár objektum. |
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: