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
- steps
- list
De lijst met stappen die moeten worden uitgevoerd als onderdeel van een pijplijn.
- default_datastore
- AbstractAzureStorageDatastore of AzureDataLakeDatastore
Het standaardgegevensarchief dat moet worden gebruikt voor gegevensverbindingen.
- default_source_directory
- str
De standaardscriptmap voor stappen waarmee een script wordt uitgevoerd.
- resolve_closure
- bool
Of u de sluiting wilt oplossen of niet (afhankelijke stappen automatisch toevoegen).
- steps
- list
De lijst met stappen die moeten worden uitgevoerd als onderdeel van een pijplijn.
- default_datastore
- AbstractAzureStorageDatastore of AzureDataLakeDatastore
Het standaardgegevensarchief dat moet worden gebruikt voor gegevensverbindingen.
- default_source_directory
- str
De standaardscriptmap voor stappen waarmee een script wordt uitgevoerd.
- resolve_closure
- bool
Of u het sluiten wilt oplossen of niet (afhankelijke stappen automatisch inschakelen).
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
De werkstroomprovider, als er geen wordt gemaakt.
- _service_endpoint
- str
Het service-eindpunt, indien Geen, wordt bepaald met behulp van de werkruimte.
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 geversierd en gebruikt in verschillende pijplijnen, gebruikt u de functionaliteit in de Module module.
Dien een pijplijn in 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 van de uitvoering te controleren.
Een voorbeeld om een pijplijn in te dienen 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 samengesteld. 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 bewaken 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
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
De werkstroomprovider.
- _service_endpoint
- str
Het service-eindpunt, indien Geen, wordt bepaald met behulp van de werkruimte.
Retouren
De samengestelde pijplijn.
Retourtype
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 stap runconfig en argumenten worden opgegeven.
Yaml-voorbeeldbestand:
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 samengesteld. Retourneert de gemaakte PublishedPipeline.
publish(name=None, description=None, version=None, continue_on_step_failure=None)
Parameters
- continue_on_step_failure
- bool
Geeft aan of de uitvoering van andere stappen in de 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.
Retouren
Gepubliceerde pijplijn gemaakt.
Retourtype
service_endpoint
Haal het service-eindpunt op dat is gekoppeld aan de pijplijn.
service_endpoint()
Retouren
Het service-eindpunt.
Retourtype
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 bewaken 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
- pipeline_parameters
- dict
Parameters voor pijplijnuitvoering, woordenlijst van {name: value}. Zie PipelineParameter voor meer informatie.
- continue_on_step_failure
- bool
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.
- regenerate_outputs
- bool
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.
- parent_run_id
- str
Optionele uitvoerings-id die moet worden ingesteld voor de bovenliggende uitvoering van deze pijplijnuitvoering. Dit wordt weergegeven in RunHistory. De bovenliggende uitvoering moet deel uitmaken van hetzelfde experiment als waar deze pijplijn naar wordt verzonden.
- 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.
Retouren
De verzonden pijplijnuitvoering.
Retourtype
validate
Valideer een pijplijn en identificeer mogelijke fouten, zoals niet-verbonden invoer.
validate()
Retouren
Een lijst met fouten in de pijplijn.
Retourtype
Opmerkingen
Voorbeelden van validatiefouten zijn:
ontbrekende of onverwachte pijplijngegevensbronnen of staptypen
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 Debug and troubleshoot machine learning pipelines (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
De grafiek.
Retourtype
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor