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

workspace
Workspace
Vereist

De werkruimte waarop de pijplijn moet worden verzonden.

steps
list
Vereist

De lijst met stappen die moeten worden uitgevoerd als onderdeel van een pijplijn.

description
str
Vereist

De beschrijving van de pijplijn.

default_datastore
AbstractAzureStorageDatastore of AzureDataLakeDatastore
Vereist

Het standaardgegevensarchief dat moet worden gebruikt voor gegevensverbindingen.

default_source_directory
str
Vereist

De standaardscriptmap voor stappen die een script uitvoeren.

resolve_closure
bool
Vereist

Of u de sluiting wilt oplossen of niet (afhankelijke stappen automatisch toevoegen).

workspace
Workspace
Vereist

De werkruimte waarop de pijplijn moet worden verzonden.

steps
list
Vereist

De lijst met stappen die moeten worden uitgevoerd als onderdeel van een pijplijn.

description
str
Vereist

De beschrijving van de pijplijn.

default_datastore
AbstractAzureStorageDatastore of AzureDataLakeDatastore
Vereist

Het standaardgegevensarchief dat moet worden gebruikt voor gegevensverbindingen.

default_source_directory
str
Vereist

De standaardscriptmap voor stappen die een script uitvoeren.

resolve_closure
bool
Vereist

Of u de sluiting wilt oplossen of niet (automatisch afhankelijke stappen toevoegen).

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

De werkstroomprovider, als er geen is gemaakt.

_service_endpoint
str
Vereist

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

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

workspace
Workspace
Vereist

De werkruimte waarop de pijplijn moet worden verzonden.

filename
str
Vereist

Het YAML-bestand waarin de pijplijn wordt beschreven.

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

De werkstroomprovider.

_service_endpoint
str
standaardwaarde: None

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

Retouren

De geconstrueerde 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 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
str
standaardwaarde: None

De naam van de gepubliceerde pijplijn.

description
str
standaardwaarde: None

De beschrijving van de gepubliceerde pijplijn.

version
str
standaardwaarde: None

De versie van de gepubliceerde pijplijn.

continue_on_step_failure
bool
standaardwaarde: None

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.

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

str

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

experiment_name
str
Vereist

De naam van het experiment waarop de pijplijn moet worden verzonden.

pipeline_parameters
dict
standaardwaarde: None

Parameters voor pijplijnuitvoering, woordenlijst van {name: value}. Zie PipelineParameter voor meer informatie.

continue_on_step_failure
bool
standaardwaarde: False

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
standaardwaarde: False

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
standaardwaarde: None

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.

credential_passthrough
standaardwaarde: None

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

De grafiek.

Retourtype