Pipeline Klas
Vertegenwoordigt een verzameling stappen die kunnen worden uitgevoerd als een herbruikbare Azure Machine Learning-werkstroom.
Gebruik een pijplijn om werkstromen te maken en te beheren die verschillende machine learning-fasen aan elkaar koppelen. Elke machine learning-fase, zoals gegevensvoorbereiding en modeltraining, kan bestaan uit een of meer stappen in een pijplijn.
Zie voor een overzicht van waarom en wanneer u Pijplijnen gebruikt https://aka.ms/pl-concept.
Zie voor een overzicht van het maken van een pijplijn https://aka.ms/pl-first-pipeline.
Initialiseer pijplijn.
- Overname
-
builtins.objectPipeline
Constructor
Pipeline(workspace, steps, description=None, default_datastore=None, default_source_directory=None, resolve_closure=True, _workflow_provider=None, _service_endpoint=None, **kwargs)
Parameters
Name | Description |
---|---|
workspace
Vereist
|
De werkruimte waarop de pijplijn moet worden verzonden. |
steps
Vereist
|
De lijst met stappen die moeten worden uitgevoerd als onderdeel van een pijplijn. |
description
Vereist
|
De beschrijving van de pijplijn. |
default_datastore
Vereist
|
Het standaardgegevensarchief dat moet worden gebruikt voor gegevensverbindingen. |
default_source_directory
Vereist
|
De standaardscriptmap voor stappen die een script uitvoeren. |
resolve_closure
Vereist
|
Of u de sluiting wilt oplossen of niet (afhankelijke stappen automatisch toevoegen). |
workspace
Vereist
|
De werkruimte waarop de pijplijn moet worden verzonden. |
steps
Vereist
|
De lijst met stappen die moeten worden uitgevoerd als onderdeel van een pijplijn. |
description
Vereist
|
De beschrijving van de pijplijn. |
default_datastore
Vereist
|
Het standaardgegevensarchief dat moet worden gebruikt voor gegevensverbindingen. |
default_source_directory
Vereist
|
De standaardscriptmap voor stappen die een script uitvoeren. |
resolve_closure
Vereist
|
Of u de sluiting wilt oplossen of niet (automatisch afhankelijke stappen toevoegen). |
_workflow_provider
Vereist
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
De werkstroomprovider, als er geen is gemaakt. |
_service_endpoint
Vereist
|
Het service-eindpunt, indien Geen, wordt bepaald met behulp van de werkruimte. |
kwargs
Vereist
|
Aangepaste trefwoordargumenten, gereserveerd voor toekomstige ontwikkeling |
Opmerkingen
Er wordt een pijplijn gemaakt met een lijst met stappen en een werkruimte. Er zijn een aantal staptypen die in een pijplijn kunnen worden gebruikt. U selecteert het staptype op basis van uw machine learning-scenario.
Azure Machine Learning-pijplijnen biedt ingebouwde stappen voor veelvoorkomende scenario's. Vooraf gemaakte stappen die zijn afgeleid van PipelineStep zijn stappen die in één pijplijn worden gebruikt. Zie het pakket en de stepsAutoMLStep klasse voor voorbeelden.
Als uw machine learning-werkstroom vereist dat er stappen worden gemaakt die kunnen worden geversieerd en gebruikt in verschillende pijplijnen, gebruikt u de functionaliteit in de Module module.
Verzend een pijplijn met behulp van submit. Wanneer verzenden wordt aangeroepen, wordt er een PipelineRun gemaakt die op zijn beurt objecten maakt StepRun voor elke stap in de werkstroom. Gebruik deze objecten om de uitvoering te controleren.
Een voorbeeld om een pijplijn te verzenden is als volgt:
from azureml.pipeline.core import Pipeline
pipeline = Pipeline(workspace=ws, steps=steps)
pipeline_run = experiment.submit(pipeline)
Er zijn een aantal optionele instellingen voor een pijplijn die kunnen worden opgegeven bij het indienen in de submit.
continue_on_step_failure: of de uitvoering van de pijplijn moet worden voortgezet als een stap mislukt; de standaardwaarde is False. Indien waar, worden alleen stappen uitgevoerd die niet afhankelijk zijn van de uitvoer van de mislukte stap.
regenerate_outputs: de standaardinstelling is Onwaar of u het opnieuw genereren van alle stapuitvoer moet forceren en het hergebruik van gegevens voor deze uitvoering niet wilt toestaan.
pipeline_parameters: Parameters voor pijplijnuitvoering, woordenlijst van {name: value}. Zie PipelineParameter voor meer informatie.
parent_run_id: u kunt een uitvoerings-id opgeven om de bovenliggende uitvoering van deze pijplijnuitvoering in te stellen. Dit wordt weergegeven in RunHistory. De bovenliggende uitvoering moet deel uitmaken van hetzelfde experiment als datgene waar deze pijplijn naar wordt verzonden.
Een voorbeeld om een pijplijn te verzenden met behulp van deze instellingen is als volgt:
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>")
Methoden
load_yaml |
Laad een pijplijn uit het opgegeven YAML-bestand. Een YAML-bestand kan worden gebruikt om een pijplijn te beschrijven die bestaat uit ModuleSteps. |
publish |
Publiceer een pijplijn en maak deze beschikbaar voor opnieuw uitvoeren. Zodra een pijplijn is gepubliceerd, kan deze worden verzonden zonder de Python-code waarmee de pijplijn is gemaakt. Retourneert de gemaakte PublishedPipeline. |
service_endpoint |
Haal het service-eindpunt op dat is gekoppeld aan de pijplijn. |
submit |
Verzend een pijplijnuitvoering. Dit komt overeen met het gebruik van submit. Retourneert de verzonden PipelineRun. Gebruik dit object om details van de uitvoering te controleren en weer te geven. |
validate |
Valideer een pijplijn en identificeer mogelijke fouten, zoals niet-verbonden invoer. |
load_yaml
Laad een pijplijn uit het opgegeven YAML-bestand.
Een YAML-bestand kan worden gebruikt om een pijplijn te beschrijven die bestaat uit ModuleSteps.
static load_yaml(workspace, filename, _workflow_provider=None, _service_endpoint=None)
Parameters
Name | Description |
---|---|
workspace
Vereist
|
De werkruimte waarop de pijplijn moet worden verzonden. |
filename
Vereist
|
Het YAML-bestand waarin de pijplijn wordt beschreven. |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
De werkstroomprovider. Default value: None
|
_service_endpoint
|
Het service-eindpunt, indien Geen, wordt bepaald met behulp van de werkruimte. Default value: None
|
Retouren
Type | Description |
---|---|
De geconstrueerde pijplijn. |
Opmerkingen
Zie hieronder voor een voorbeeld van een YAML-bestand. De YAML bevat een naam, default_compute en lijsten met parameters, gegevensverwijzingen en stappen voor de pijplijn. Elke stap moet de module-, reken- en parameter-, invoer- en uitvoerbindingen opgeven. Daarnaast kunnen indien nodig een stapsgewijze runconfig en argumenten worden opgegeven.
Voorbeeld van Yaml-bestand:
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
Publiceer een pijplijn en maak deze beschikbaar voor opnieuw uitvoeren.
Zodra een pijplijn is gepubliceerd, kan deze worden verzonden zonder de Python-code waarmee de pijplijn is gemaakt. Retourneert de gemaakte PublishedPipeline.
publish(name=None, description=None, version=None, continue_on_step_failure=None)
Parameters
Name | Description |
---|---|
name
|
De naam van de gepubliceerde pijplijn. Default value: None
|
description
|
De beschrijving van de gepubliceerde pijplijn. Default value: None
|
version
|
De versie van de gepubliceerde pijplijn. Default value: None
|
continue_on_step_failure
|
Geeft aan of de uitvoering van andere stappen in pipelineRun moet worden voortgezet als een stap mislukt; de standaardwaarde onwaar is. Indien waar, worden alleen stappen uitgevoerd die niet afhankelijk zijn van de uitvoer van de mislukte stap. Default value: None
|
Retouren
Type | Description |
---|---|
Gepubliceerde pijplijn gemaakt. |
service_endpoint
Haal het service-eindpunt op dat is gekoppeld aan de pijplijn.
service_endpoint()
Retouren
Type | Description |
---|---|
Het service-eindpunt. |
submit
Verzend een pijplijnuitvoering. Dit komt overeen met het gebruik van submit.
Retourneert de verzonden PipelineRun. Gebruik dit object om details van de uitvoering te controleren en weer te geven.
submit(experiment_name, pipeline_parameters=None, continue_on_step_failure=False, regenerate_outputs=False, parent_run_id=None, credential_passthrough=None, **kwargs)
Parameters
Name | Description |
---|---|
experiment_name
Vereist
|
De naam van het experiment waarop de pijplijn moet worden verzonden. |
pipeline_parameters
|
Parameters voor pijplijnuitvoering, woordenlijst van {name: value}. Zie PipelineParameter voor meer informatie. Default value: None
|
continue_on_step_failure
|
Geeft aan of de uitvoering van de pijplijn moet worden voortgezet als een stap mislukt. Indien waar, worden alleen stappen uitgevoerd die niet afhankelijk zijn van de uitvoer van de mislukte stap. Default value: False
|
regenerate_outputs
|
Hiermee wordt aangegeven of het opnieuw genereren van alle stapuitvoer moet worden afgedwongen en het hergebruik van gegevens voor deze uitvoering moet worden geblokkeerd. Indien onwaar is, kunnen de resultaten van eerdere uitvoeringen opnieuw in deze uitvoering worden gebruikt en kunnen de resultaten van deze uitvoering opnieuw in opvolgende uitvoeringen worden gebruikt. Default value: False
|
parent_run_id
|
Optionele uitvoerings-id die moet worden ingesteld voor de bovenliggende uitvoering van deze pijplijnuitvoering, die wordt weergegeven in RunHistory. De bovenliggende uitvoering moet deel uitmaken van hetzelfde experiment als waar deze pijplijn naar wordt verzonden. Default value: None
|
credential_passthrough
|
Optioneel. Als deze vlag is ingeschakeld, gebruikt de externe pijplijntaak de referenties van de gebruiker die de taak heeft gestart. Deze functie is alleen beschikbaar in de beperkte preview. Default value: None
|
Retouren
Type | Description |
---|---|
De verzonden pijplijnuitvoering. |
validate
Valideer een pijplijn en identificeer mogelijke fouten, zoals niet-verbonden invoer.
validate()
Retouren
Type | Description |
---|---|
Een lijst met fouten in de pijplijn. |
Opmerkingen
Voorbeelden van validatiefouten zijn:
ontbrekende of onverwachte pijplijngegevensbronnen of stappentypen
ontbrekende parameters of uitvoerdefinities voor een pijplijngegevensbron of -stap
niet-verbonden invoer
pijplijnstappen die een lus of cyclus vormen
Als de validatie is geslaagd (retourneert een lege lijst) en uw pijplijn niet werkt, raadpleegt u Fouten opsporen en problemen met machine learning-pijplijnen oplossen.
Kenmerken
graph
Haal de grafiek op die is gekoppeld aan de pijplijn. Stappen en gegevensinvoer worden weergegeven als knooppunten in de grafiek.
Retouren
Type | Description |
---|---|
De grafiek. |