Megosztás a következőn keresztül:


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.object
PipelineData

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ő
str

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
str

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
str

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
str

A = "upload" paraméter output_mode esetében ez a paraméter azt az útvonalat jelöli, amelybe a modul írja a kimenetet.

alapértelmezett érték: None
output_overwrite

A = "upload" paraméter esetében output_mode ez a paraméter határozza meg, hogy felülírja-e a meglévő adatokat.

alapértelmezett érték: None
data_type
str

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 data_type paraméter nincs megadva. Az alapértelmezett érték Hamis.

alapértelmezett érték: None
pipeline_output_name

Ha ez a kimenet a használatával PipelineRun.get_pipeline_output()lesz elérhető. A folyamat kimeneti nevének egyedinek kell lennie a folyamatban.

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ő
str

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ő
str

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ő
str

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ő
str

A = "upload" paraméter output_mode esetében ez a paraméter azt az útvonalat jelöli, amelybe a modul írja a kimenetet.

output_overwrite
Kötelező

A = "upload" paraméter esetében output_mode ez a paraméter határozza meg, hogy felülírja-e a meglévő adatokat.

data_type
Kötelező
str

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 data_type paraméter nincs megadva. Az alapértelmezett érték Hamis.

pipeline_output_name
Kötelező
str

Ha ez a kimenet a használatával PipelineRun.get_pipeline_output()lesz elérhető. A folyamat kimeneti nevének egyedinek kell lennie a folyamatban.

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_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_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
str

A bemenet nevének megadására használható.

alapértelmezett érték: None
path_on_compute
str

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ő
str

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
str

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
str

A bemenet neve.

alapértelmezett érték: None
mode
str

A PipelineData ("csatlakoztatás" vagy "letöltés") elérésének módja.

alapértelmezett érték: None
path_on_compute
str

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
str

A környezeti változó neve.

Attribútumok

data_type

A létrehozandó adatok típusa.

Válaszok

Típus Description
str

Az adattípus neve.

datastore

Adattár, amelyen a PipelineData található.

Válaszok

Típus Description

Az Adattár objektum.

name

A PipelineData objektum neve.

Válaszok

Típus Description
str

Név.