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


PipelineData Osztály

Köztes adatokat jelöl egy Azure Machine Learning-folyamatban.

A folyamatokban használt adatok egy lépéssel á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.

Vegye figyelembe , hogy 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 szeretne írni a mappában lévő 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 objektumot használ, amely már nem az adathozzáférés és -továbbítás ajánlott megközelítése. Ehelyett használja az OutputFileDatasetConfig parancsot . A minta itt található: Pipeline using OutputFileDatasetConfig.

PipelineData inicializálása.

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ásjeleket 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 egy kimeneti név használatával elérheti az adott kimenetet. A neveknek egyedinek kell lenniük a folyamat egyetlen lépésében.

datastore

Azon adattár, amelyen a PipelineData található. 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. Csak betűket, számjegyeket és aláhúzásjeleket tartalmazhat.

Alapértelmezett érték: None
output_mode
str

Megadja, 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 output_mode = "upload" paraméter esetében ez a paraméter azt az elérési utat jelöli, amelybe a modul írja a kimenetet.

Alapértelmezett érték: None
output_overwrite

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

Alapértelmezett érték: None
data_type
str

Opcionális. Az adattípussal megadhatja a kimenet várt típusát, és részletezheti, hogy a használat lépései hogyan használják az adatokat. Bármilyen felhasználó által definiált sztring lehet.

Alapértelmezett érték: None
is_directory

Megadja, hogy az adatok címtárak vagy egyetlen fájlok-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 elérhető lesz a következő használatával PipelineRun.get_pipeline_output(): . A folyamat kimeneti nevének egyedinek kell lennie a folyamatban.

Alapértelmezett érték: None
training_output

A betanítási eredmény kimenetét határozza meg. Ez csak bizonyos betanításokhoz szükséges, amelyek különböző 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 meghatározhat. Itt 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ásjeleket 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 egy kimeneti név használatával elérheti az adott kimenetet. A neveknek egyedinek kell lenniük a folyamat egyetlen lépésében.

datastore
Kötelező

Azon adattár, amelyen a PipelineData található. 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. amely csak betűket, számjegyeket és aláhúzásjeleket tartalmazhat.

output_mode
Kötelező
str

Megadja, 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 output_mode = "upload" paraméter esetében ez a paraméter azt az elérési utat jelöli, amelybe a modul írja a kimenetet.

output_overwrite
Kötelező

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

Opcionális. Az adattípussal megadhatja a kimenet várt típusát, és részletezheti, hogy a használat lépései hogyan használják az adatokat. Bármilyen felhasználó által definiált sztring lehet.

is_directory
Kötelező

Megadja, hogy az adatok címtárak vagy egyetlen fájlok-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 elérhető lesz a következő használatával PipelineRun.get_pipeline_output(): . A folyamat kimeneti nevének egyedinek kell lennie a folyamatban.

training_output
Kötelező

A betanítási eredmény kimenetét határozza meg. Ez csak bizonyos betanításokhoz szükséges, amelyek különböző 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 meghatározhat. Itt 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álatával lépésekkel írhatja le a lépés által létrehozott fájlokat vagy könyvtárakat. Ezek az adatkimenetek hozzáadva lesznek 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-objektumokat is használ a folyamat létrehozásakor 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 folyamatbetanítási 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])

Ez 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ítási lépést. Az Azure ML biztosítja a folyamatlépés által előállított kimenetet a betanítási lépéshez.

Ezen a lapon további példákat talál a PipelineData használatával egy folyamat létrehozásához: 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 csatlakoznak, é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 továbbíthatja 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 ezen a kimeneti útvonalon létre kell hoznia egy fájlt vagy könyvtárat. A folyamatobjektum 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: Adja meg a output_path_on_compute szkript által generált fájl- vagy könyvtárnévnek megfelelőt. (Ebben az esetben a környezeti változók nem használhatók.)

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 bemenet adathalmazként legyen felhasználva. Ha as_dataset nincs meghívva a kimeneten, de csak a bemenetre van meghívva, akkor az egy noop lesz, és a bemenet nem lesz adatkészletként használva. Az alábbi kód példája 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

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 bemenet adathalmazként legyen felhasználva. Ha as_dataset nincs meghívva a kimeneten, de csak a bemenetre van meghívva, akkor az egy noop lesz, és a bemenet nem lesz adatkészletként használva. Az alábbi kód példája 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 adathalmazké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, amelybe le szeretné tölteni a fájlt.

Alapértelmezett érték: None
overwrite

Azt jelzi, 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

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

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

Bemeneti kötés létrehozása.

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 a számítási útvonalon lesznek elhelyezve.

Alapértelmezett érték: None
overwrite

A "letöltési" mód esetében, 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

Azon 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.