Pipeline Osztály
Olyan lépések gyűjteménye, amelyek újrahasználható Azure Machine Learning-munkafolyamatként végrehajthatók.
Folyamat használatával különböző gépi tanulási fázisokat összefűző munkafolyamatokat hozhat létre és kezelhet. Minden gépi tanulási fázis, például az adat-előkészítés és a modell betanítása egy vagy több lépésből állhat egy folyamatból.
A folyamatok használatának okairól és időpontjáról a következő témakörben olvashat https://aka.ms/pl-conceptbővebben.
A folyamat létrehozásának áttekintését a következő témakörben tekintheti meg https://aka.ms/pl-first-pipeline: .
Folyamat inicializálása.
Konstruktor
Pipeline(workspace, steps, description=None, default_datastore=None, default_source_directory=None, resolve_closure=True, _workflow_provider=None, _service_endpoint=None, **kwargs)
Paraméterek
| Name | Description |
|---|---|
|
workspace
Kötelező
|
Az a munkaterület, amelyen be szeretné küldeni a folyamatot. |
|
steps
Kötelező
|
A folyamat részeként végrehajtandó lépések listája. |
|
description
Kötelező
|
A folyamat leírása. |
|
default_datastore
Kötelező
|
Az adatkapcsolatokhoz használandó alapértelmezett adattár. |
|
default_source_directory
Kötelező
|
A parancsfájlt végrehajtó lépések alapértelmezett szkriptkönyvtára. |
|
resolve_closure
Kötelező
|
A lezárás feloldása vagy sem (automatikusan hozzon be függő lépéseket). |
|
workspace
Kötelező
|
Az a munkaterület, amelyen be szeretné küldeni a folyamatot. |
|
steps
Kötelező
|
A folyamat részeként végrehajtandó lépések listája. |
|
description
Kötelező
|
A folyamat leírása. |
|
default_datastore
Kötelező
|
Az adatkapcsolatokhoz használandó alapértelmezett adattár. |
|
default_source_directory
Kötelező
|
A parancsfájlt végrehajtó lépések alapértelmezett szkriptkönyvtára. |
|
resolve_closure
Kötelező
|
A lezárás feloldása vagy sem (automatikusan hozzon be függő lépéseket). |
|
_workflow_provider
Kötelező
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
A munkafolyamat-szolgáltató, ha nincs létrehozva. |
|
_service_endpoint
Kötelező
|
A szolgáltatásvégpont, ha nincs, a munkaterület használatával van meghatározva. |
|
kwargs
Kötelező
|
Egyéni kulcsszóargumentumok, jövőbeli fejlesztéshez fenntartva |
Megjegyzések
A folyamat a lépések listájával és egy munkaterülettel jön létre. Számos lépéstípus használható egy folyamatban. A gépi tanulási forgatókönyv alapján választja ki a lépéstípust.
Az Azure Machine Learning Pipelines beépített lépéseket biztosít a gyakori forgatókönyvekhez. A PipelineStep-ből származó előre elkészített lépések egy folyamatban használt lépések. Példákért tekintse meg a steps csomagot és az osztályt AutoMLStep .
Ha a gépi tanulási munkafolyamat olyan lépések létrehozására szólít fel, amelyek különböző folyamatokon keresztül módosíthatók és használhatók, akkor használja a modul funkcióit Module .
Folyamat elküldése a következő használatával submit: . A küldés meghívásakor létrejön egy PipelineRun objektum, amely a munkafolyamat minden lépéséhez létrehoz StepRun objektumokat. Ezekkel az objektumokkal figyelheti a futtatás végrehajtását.
Egy folyamat elküldésére példa a következő:
from azureml.pipeline.core import Pipeline
pipeline = Pipeline(workspace=ws, steps=steps)
pipeline_run = experiment.submit(pipeline)
A folyamathoz számos választható beállítás adható meg, amelyek a beküldés során megadhatók a submitfájlban.
continue_on_step_failure: A folyamat végrehajtásának folytatása, ha egy lépés meghiúsul; az alapértelmezett érték Hamis. Ha igaz, csak azok a lépések folytatódnak, amelyek nem függnek a sikertelen lépés kimenetétől.
regenerate_outputs: Az összes lépéskimenet újragenerálásának kényszerítése és az adatok újbóli felhasználásának letiltása a futtatáshoz, alapértelmezés szerint Hamis.
pipeline_parameters: A folyamat végrehajtásának paraméterei, a(z) {name: value} szótára. További részletekért lásd a PipelineParameter.
parent_run_id: Megadhat egy futtatási azonosítót a folyamatfuttatás szülőfuttatásának beállításához, amely a RunHistoryban is megjelenik. A szülőfuttatásnak ugyanahhoz a kísérlethez kell tartoznia, amelyhez az adott folyamatot küldi a rendszer.
A folyamat elküldésére az alábbi beállításokat követve lehet példa:
from azureml.pipeline.core import Pipeline
pipeline = Pipeline(workspace=ws, steps=steps)
pipeline_run = experiment.submit(pipeline,
continue_on_step_failure=True,
regenerate_outputs=True,
pipeline_parameters={"param1": "value1"},
parent_run_id="<run_id>")
Metódusok
| load_yaml |
Folyamat betöltése a megadott YAML-fájlból. A YAML-fájlok a ModuleSteps-ekből álló folyamatok leírására használhatók. |
| publish |
Hozzon létre egy folyamatot, és tegye elérhetővé újrafuttatásra. A folyamat közzététele után a folyamat létrehozásához szükséges Python-kód nélkül is elküldhető. A létrehozott PublishedPipelineértéket adja vissza. |
| service_endpoint |
Kérje le a folyamathoz társított szolgáltatásvégpontot. |
| submit |
Folyamatfuttatás elküldése. Ez egyenértékű a használattal submit. A beküldött PipelineRunértéket adja vissza. Ezzel az objektummal figyelheti és tekintheti meg a futtatás részleteit. |
| validate |
Ellenőrizze a folyamatokat, és azonosítsa a lehetséges hibákat, például a nem összekapcsolt bemeneteket. |
load_yaml
Folyamat betöltése a megadott YAML-fájlból.
A YAML-fájlok a ModuleSteps-ekből álló folyamatok leírására használhatók.
static load_yaml(workspace, filename, _workflow_provider=None, _service_endpoint=None)
Paraméterek
| Name | Description |
|---|---|
|
workspace
Kötelező
|
Az a munkaterület, amelyen be szeretné küldeni a folyamatot. |
|
filename
Kötelező
|
A folyamatot leíró YAML-fájl. |
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
A munkafolyamat-szolgáltató. Alapértelmezett érték: None
|
|
_service_endpoint
|
A szolgáltatásvégpont (ha nincs) a munkaterület használatával lesz meghatározva. Alapértelmezett érték: None
|
Válaszok
| Típus | Description |
|---|---|
|
A létrehozott folyamat. |
Megjegyzések
Lásd alább egy példa YAML-fájlt. A YAML tartalmazza a folyamat paramétereinek, adathivatkozásainak és lépéseinek nevét, default_compute és listáját. Minden lépésnek meg kell adnia a modult, a számítást és a paramétert, a bemenetet és a kimeneti kötéseket. Emellett szükség esetén meg lehet adni egy lépéses runconfigot és argumentumokat.
Yaml-mintafájl:
pipeline:
description: SamplePipelineFromYaml
parameters:
NumIterationsParameter:
type: int
default: 40
DataPathParameter:
type: datapath
default:
datastore: workspaceblobstore
path_on_datastore: sample2.txt
NodeCountParameter:
type: int
default: 4
data_references:
DataReference:
datastore: workspaceblobstore
path_on_datastore: testfolder/sample.txt
Dataset:
dataset_name: 'titanic'
default_compute: aml-compute
steps:
PrepareStep:
type: ModuleStep
name: "TestModule"
compute: aml-compute2
runconfig: 'D:\.azureml\default_runconfig.yml'
arguments:
-'--input1'
-input:in1
-'--input2'
-input:in2
-'--input3'
-input:in3
-'--output'
-output:output_data
-'--param'
-parameter:NUM_ITERATIONS
parameters:
NUM_ITERATIONS:
source: NumIterationsParameter
inputs:
in1:
source: Dataset
bind_mode: mount
in2:
source: DataReference
in3:
source: DataPathParameter
outputs:
output_data:
destination: Output1
datastore: workspaceblobstore
bind_mode: mount
TrainStep:
type: ModuleStep
name: "TestModule2"
version: "2"
runconfig: 'D:\.azureml\default_runconfig.yml'
arguments:
-'--input'
-input:train_input
-'--output'
-output:result
-'--param'
-parameter:NUM_ITERATIONS
parameters:
NUM_ITERATIONS: 10
runconfig_parameters:
NodeCount:
source: NodeCountParameter
inputs:
train_input:
source: Output1
bind_mode: mount
outputs:
result:
destination: Output2
datastore: workspaceblobstore
bind_mode: mount
publish
Hozzon létre egy folyamatot, és tegye elérhetővé újrafuttatásra.
A folyamat közzététele után a folyamat létrehozásához szükséges Python-kód nélkül is elküldhető. A létrehozott PublishedPipelineértéket adja vissza.
publish(name=None, description=None, version=None, continue_on_step_failure=None)
Paraméterek
| Name | Description |
|---|---|
|
name
|
A közzétett folyamat neve. Alapértelmezett érték: None
|
|
description
|
A közzétett folyamat leírása. Alapértelmezett érték: None
|
|
version
|
A közzétett folyamat verziója. Alapértelmezett érték: None
|
|
continue_on_step_failure
|
Azt jelzi, hogy egy lépés meghiúsulása esetén folytatja-e a Folyamatfuttatás más lépéseinek végrehajtását; az alapértelmezett érték hamis. Ha igaz, csak azok a lépések folytatódnak, amelyek nem függnek a sikertelen lépés kimenetétől. Alapértelmezett érték: None
|
Válaszok
| Típus | Description |
|---|---|
|
Közzétett folyamat létrehozása. |
service_endpoint
Kérje le a folyamathoz társított szolgáltatásvégpontot.
service_endpoint()
Válaszok
| Típus | Description |
|---|---|
|
A szolgáltatásvégpont. |
submit
Folyamatfuttatás elküldése. Ez egyenértékű a használattal submit.
A beküldött PipelineRunértéket adja vissza. Ezzel az objektummal figyelheti és tekintheti meg a futtatás részleteit.
submit(experiment_name, pipeline_parameters=None, continue_on_step_failure=False, regenerate_outputs=False, parent_run_id=None, credential_passthrough=None, **kwargs)
Paraméterek
| Name | Description |
|---|---|
|
experiment_name
Kötelező
|
A folyamat elküldéséhez használt kísérlet neve. |
|
pipeline_parameters
|
A folyamat végrehajtásának paraméterei, a(z) {name: value} szótára. További részletekért lásd a PipelineParameter. Alapértelmezett érték: None
|
|
continue_on_step_failure
|
Azt jelzi, hogy folytatja-e a folyamat végrehajtását, ha egy lépés meghiúsul. Ha igaz, csak azok a lépések folytatódnak, amelyek nem függnek a sikertelen lépés kimenetétől. Alapértelmezett érték: False
|
|
regenerate_outputs
|
Azt jelzi, hogy kényszerítse-e az összes lépés kimenetének újragenerálását, és tiltsa-e le az adatok újbóli felhasználását a futtatáshoz. Ha hamis, akkor ez a futtatás újra felhasználhatja az előző futtatások eredményeit, a későbbi futtatások pedig újra felhasználhatják a futtatás eredményeit. Alapértelmezett érték: False
|
|
parent_run_id
|
A folyamatfuttatás szülőfuttatásának beállításához választható futtatási azonosító, amely a RunHistoryban is megjelenik. A szülőfuttatásnak ugyanahhoz a kísérlethez kell tartoznia, mint a folyamatnak. Alapértelmezett érték: None
|
|
credential_passthrough
|
Nem kötelező, ha ez a jelző engedélyezve van, a távoli folyamatfeladat a feladatot kezdeményező felhasználó hitelesítő adatait fogja használni. Ez a funkció csak privát előzetes verzióban érhető el. Alapértelmezett érték: None
|
Válaszok
| Típus | Description |
|---|---|
|
Az elküldött folyamat futtatása. |
validate
Ellenőrizze a folyamatokat, és azonosítsa a lehetséges hibákat, például a nem összekapcsolt bemeneteket.
validate()
Válaszok
| Típus | Description |
|---|---|
|
A folyamat hibáinak listája. |
Megjegyzések
Az érvényesítési hibák például a következők:
hiányzó vagy váratlan folyamatok adatforrásai vagy lépéstípusai
hiányzó paraméterek vagy kimeneti definíciók egy folyamatadatforráshoz vagy -lépéshez
nem összekapcsolt bemenetek
ciklust vagy ciklust alkotó folyamatlépések
Ha az ellenőrzés sikeres (üres listát ad vissza), és a folyamat nem működik, tekintse meg a gépi tanulási folyamatok hibakeresését és hibaelhárítását.
Attribútumok
graph
Kérje le a folyamathoz társított gráfot. A lépések és az adatbemenetek csomópontokként jelennek meg a gráfban.
Válaszok
| Típus | Description |
|---|---|
|
A gráf. |