Delen via


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.object
Pipeline

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
str

De beschrijving van de pijplijn.

default_datastore
Vereist

Het standaardgegevensarchief dat moet worden gebruikt voor gegevensverbindingen.

default_source_directory
Vereist
str

De standaardscriptmap voor stappen waarmee een script wordt uitgevoerd.

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
str

De beschrijving van de pijplijn.

default_datastore
Vereist

Het standaardgegevensarchief dat moet worden gebruikt voor gegevensverbindingen.

default_source_directory
Vereist
str

De standaardscriptmap voor stappen waarmee een script wordt uitgevoerd.

resolve_closure
Vereist

Of u het sluiten wilt oplossen of niet (afhankelijke stappen automatisch inschakelen).

_workflow_provider
Vereist
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

De werkstroomprovider, als er geen wordt gemaakt.

_service_endpoint
Vereist
str

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

Name Description
workspace
Vereist

De werkruimte waarop de pijplijn moet worden verzonden.

filename
Vereist
str

Het YAML-bestand waarin de pijplijn wordt beschreven.

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

De werkstroomprovider.

Default value: None
_service_endpoint
str

Het service-eindpunt, indien Geen, wordt bepaald met behulp van de werkruimte.

Default value: None

Retouren

Type Description

De samengestelde 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 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

Name Description
name
str

De naam van de gepubliceerde pijplijn.

Default value: None
description
str

De beschrijving van de gepubliceerde pijplijn.

Default value: None
version
str

De versie van de gepubliceerde pijplijn.

Default value: None
continue_on_step_failure

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.

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
str

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

Name Description
experiment_name
Vereist
str

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

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

Type Description

De grafiek.