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

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

Azon adattár, amelyen a PipelineData található. Ha nincs meghatározva, a rendszer az alapértelmezett adattárat használja.

output_name
str
alapértelmezett érték: None

A kimenet neve, ha a Nincs nevet használja. Csak betűket, számjegyeket és aláhúzásjeleket tartalmazhat.

output_mode
str
alapértelmezett érték: mount

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

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

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

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

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

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

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

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

A kimenet neve, ha a Nincs nevet használja. amelyek csak betűket, számjegyeket és aláhúzásjeleket tartalmazhatnak.

output_mode
str
Kötelező

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

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

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

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

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

input_name
str
alapértelmezett érték: None

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

path_on_compute
str
alapértelmezett érték: None

A számítási útvonal, amelyre le szeretné tölteni a fájlt.

overwrite
bool
alapértelmezett érték: None

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

input_name
str
Kötelező

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

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

input_name
str
alapértelmezett érték: None

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

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

input_name
str
alapértelmezett érték: None

A bemenet neve.

mode
str
alapértelmezett érték: None

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

path_on_compute
str
alapértelmezett érték: None

A "letöltési" mód esetében az adatok számítási útvonala lesz meg.

overwrite
bool
alapértelmezett érték: None

A "letöltési" mód esetében a meglévő adatok felülírása.

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

str

Attribútumok

data_type

A létrehozandó adatok típusa.

Válaszok

Az adattípus neve.

Visszatérési típus

str

datastore

Datastore the PipelineData will reside on.

Válaszok

Az Adattár objektum.

Visszatérési típus

name

A PipelineData objektum neve.

Válaszok

Név.

Visszatérési típus

str