Delen via


PipelineStep Klas

Vertegenwoordigt een uitvoeringsstap in een Azure Machine Learning-pijplijn.

Pijplijnen worden samengesteld uit meerdere pijplijnstappen, die afzonderlijke rekeneenheden in de pijplijn zijn. Elke stap kan onafhankelijk worden uitgevoerd en geïsoleerde rekenresources gebruiken. Elke stap heeft doorgaans een eigen benoemde invoer, uitvoer en parameters.

De klasse PipelineStep is de basisklasse waaruit andere ingebouwde stapklassen zijn ontworpen voor veelvoorkomende scenario's, zoals PythonScriptStep, DataTransferStepen HyperDriveStep.

Zie Wat zijn ML-pijplijnen voor een overzicht van de relatie tussen pijplijnen en pipelineSteps.

Initialiseer PipelineStep.

Constructor

PipelineStep(name, inputs, outputs, arguments=None, fix_port_name_collisions=False, resource_inputs=None)

Parameters

Name Description
name
Vereist
str

De naam van de pijplijnstap.

inputs
Vereist

De lijst met stapinvoer.

outputs
Vereist

De lijst met stapuitvoer.

arguments

Een optionele lijst met argumenten die moeten worden doorgegeven aan een script dat in de stap wordt gebruikt.

Default value: None
fix_port_name_collisions

Hiermee geeft u op of naamconflicten moeten worden opgelost. Als Waar en een invoer en uitvoer dezelfde naam hebben, wordt de invoer voorafgegaan door 'INPUT'. De standaardwaarde is Onwaar.

Default value: False
resource_inputs

Een optionele lijst met invoer die moet worden gebruikt als resources. Resources worden gedownload naar de scriptmap en bieden een manier om het gedrag van het script tijdens runtime te wijzigen.

Default value: None
name
Vereist
str

De naam van de pijplijnstap.

inputs
Vereist

De lijst met stapinvoer.

outputs
Vereist

De lijst met stapuitvoer.

arguments
Vereist

Een optionele lijst met argumenten die moeten worden doorgegeven aan een script dat in de stap wordt gebruikt.

fix_port_name_collisions
Vereist

Hiermee geeft u op of naamconflicten moeten worden opgelost. Als Waar en een invoer en uitvoer dezelfde naam hebben, wordt de invoer voorafgegaan door 'INPUT'. De standaardwaarde is Onwaar.

resource_inputs
Vereist

Een optionele lijst met invoer die moet worden gebruikt als resources. Resources worden gedownload naar de scriptmap en bieden een manier om het gedrag van het script tijdens runtime te wijzigen.

Opmerkingen

Een PipelineStep is een uitvoeringseenheid die doorgaans een doel van uitvoering (rekendoel) nodig heeft, een script dat moet worden uitgevoerd met optionele scriptargumenten en invoer en uitvoer kan produceren. De stap kan ook een aantal andere parameters bevatten die specifiek zijn voor de stap.

Pijplijnstappen kunnen samen worden geconfigureerd om een Pipeline, dat een deelbare en herbruikbare Azure Machine Learning-werkstroom vertegenwoordigt. Elke stap van een pijplijn kan worden geconfigureerd om hergebruik van de vorige uitvoeringsresultaten toe te staan als de inhoud van de stap (scripts/afhankelijkheden) en de invoer en parameters ongewijzigd blijven. Wanneer u de stap opnieuw gebruikt, worden de resultaten van de vorige uitvoering onmiddellijk beschikbaar gesteld aan eventuele volgende stappen in plaats van de taak te verzenden om te berekenen.

Azure Machine Learning Pipelines biedt ingebouwde stappen voor algemene scenario's. Zie het steps pakket en de AutoMLStep klasse voor voorbeelden. Zie voor een overzicht van het bouwen van een pijplijn op basis van vooraf gebouwde stappen https://aka.ms/pl-first-pipeline.

Vooraf gebouwde stappen die zijn afgeleid van PipelineStep zijn stappen die in één pijplijn worden gebruikt. Als uw machine learning-werkstroom aanroept voor het maken van stappen die kunnen worden geversied en gebruikt in verschillende pijplijnen, gebruikt u de Module klasse.

Houd rekening met het volgende bij het werken met pijplijnstappen, invoer-/uitvoergegevens en het opnieuw gebruiken van de stap.

  • Het wordt aanbevolen om afzonderlijke source_directory locaties te gebruiken voor afzonderlijke stappen. Als alle scripts in uw pijplijnstappen zich in één map bevinden, verandert de hash van die map telkens wanneer u een wijziging aanbrengt in één script, waardoor alle stappen opnieuw moeten worden uitgevoerd. Zie voor een voorbeeld van het gebruik van afzonderlijke mappen voor verschillende stappen https://aka.ms/pl-get-started.

  • Door afzonderlijke mappen voor scripts en afhankelijke bestanden voor elke stap te onderhouden, kan de grootte van de momentopname die voor elke stap is gemaakt, worden verkleind, omdat alleen de specifieke map wordt gemaakt. Omdat wijzigingen in bestanden in de source_directory van de stap een herupload van de momentopname activeren, waarbij afzonderlijke mappen in elke stap worden onderhouden, helpt het hergebruik van stappen in de pijplijn, omdat als er geen wijzigingen zijn in de source_directory van een stap, de vorige uitvoering van de stap opnieuw wordt gebruikt.

  • Als gegevens die worden gebruikt in een stap zich in een gegevensarchief en allow_reuse waar is, worden wijzigingen in de gegevenswijziging niet gedetecteerd. Als de gegevens worden geüpload als onderdeel van de momentopname (onder de source_directory van de stap), hoewel dit niet wordt aanbevolen, wordt de hash gewijzigd en wordt een nieuwe uitvoering geactiveerd.

Methoden

create_input_output_bindings

Invoer- en uitvoerbindingen maken op basis van de stapinvoer en -uitvoer.

create_module_def

Maak het moduledefinitieobject dat de stap beschrijft.

create_node

Maak een knooppunt voor de pijplijngrafiek op basis van deze stap.

get_source_directory

Haal de bronmap voor de stap op en controleer of het script bestaat.

resolve_input_arguments

Koppel invoer en uitvoer aan argumenten om een argumenttekenreeks te produceren.

run_after

Voer deze stap uit na de opgegeven stap.

validate_arguments

Controleer of de stapinvoer en -uitvoer die in argumenten zijn opgegeven, in de invoer- en uitvoerlijsten staan.

create_input_output_bindings

Invoer- en uitvoerbindingen maken op basis van de stapinvoer en -uitvoer.

create_input_output_bindings(inputs, outputs, default_datastore, resource_inputs=None)

Parameters

Name Description
inputs
Vereist

De lijst met stapinvoer.

outputs
Vereist

De lijst met stapuitvoer.

default_datastore
Vereist

Het standaardgegevensarchief.

resource_inputs

De lijst met invoer die moet worden gebruikt als resources. Resources worden gedownload naar de scriptmap en bieden een manier om het gedrag van het script tijdens runtime te wijzigen.

Default value: None

Retouren

Type Description

Tuple van de invoerbindingen en uitvoerbindingen.

create_module_def

Maak het moduledefinitieobject dat de stap beschrijft.

create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, module_type=None, arguments=None, runconfig=None, cloud_settings=None)

Parameters

Name Description
execution_type
Vereist
str

Het uitvoeringstype van de module.

input_bindings
Vereist

De stapinvoerbindingen.

output_bindings
Vereist

De uitvoerbindingen van de stap.

param_defs

De parameterdefinities van de stap.

Default value: None
create_sequencing_ports

Hiermee geeft u op of de sequentiërende poorten worden gemaakt voor de module.

Default value: True
allow_reuse

Hiermee geeft u op of de module beschikbaar is voor hergebruik in toekomstige pijplijnen.

Default value: True
version
str

De versie van de module.

Default value: None
module_type
str

Het moduletype voor de service voor het maken van de module die moet worden gemaakt. Momenteel worden slechts twee typen ondersteund: 'None' en 'BatchInferencing'. module_type verschilt van execution_type wat voor soort back-endservice moet worden gebruikt om deze module uit te voeren.

Default value: None
arguments

Lijst met geannoteerde argumenten die moeten worden gebruikt bij het aanroepen van deze module

Default value: None
runconfig
str

Runconfig die wordt gebruikt voor python_script_step

Default value: None
cloud_settings
<xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>

Instellingen die worden gebruikt voor clouds

Default value: None

Retouren

Type Description

Het moduledefinitieobject.

create_node

Maak een knooppunt voor de pijplijngrafiek op basis van deze stap.

abstract create_node(graph, default_datastore, context)

Parameters

Name Description
graph
Vereist

De grafiek waaraan het knooppunt moet worden toegevoegd.

default_datastore
Vereist

Het standaardgegevensarchief dat voor deze stap moet worden gebruikt.

context
Vereist
<xref:azureml.pipeline.core._GraphContext>

Het grafiekcontextobject.

Retouren

Type Description

Het gemaakte knooppunt.

get_source_directory

Haal de bronmap voor de stap op en controleer of het script bestaat.

get_source_directory(context, source_directory, script_name)

Parameters

Name Description
context
Vereist
<xref:azureml.pipeline.core._GraphContext>

Het grafiekcontextobject.

source_directory
Vereist
str

De bronmap voor de stap.

script_name
Vereist
str

De scriptnaam voor de stap.

hash_paths
Vereist

De hashpaden die moeten worden gebruikt bij het bepalen van de vingerafdruk van de module.

Retouren

Type Description

De bronmap en hashpaden.

resolve_input_arguments

Koppel invoer en uitvoer aan argumenten om een argumenttekenreeks te produceren.

static resolve_input_arguments(arguments, inputs, outputs, params)

Parameters

Name Description
arguments
Vereist

Een lijst met stapargumenten.

inputs
Vereist

Een lijst met stapinvoer.

outputs
Vereist

Een lijst met stapuitvoer.

params
Vereist

Een lijst met stapparameters.

Retouren

Type Description

Retourneert een tuple van twee items. De eerste is een platte lijst met items voor de opgeloste argumenten. De tweede is een lijst met gestructureerde argumenten (_InputArgument, _OutputArgument, _ParameterArgument en _StringArgument)

run_after

Voer deze stap uit na de opgegeven stap.

run_after(step)

Parameters

Name Description
step
Vereist

De pijplijnstap die vóór deze stap moet worden uitgevoerd.

Opmerkingen

Als u een stap wilt uitvoeren, bijvoorbeeld stap3 nadat zowel stap1 als stap2 zijn voltooid, kunt u het volgende gebruiken:


   step3.run_after(step1)
   step3.run_after(step2)

validate_arguments

Controleer of de stapinvoer en -uitvoer die in argumenten zijn opgegeven, in de invoer- en uitvoerlijsten staan.

static validate_arguments(arguments, inputs, outputs)

Parameters

Name Description
arguments
Vereist

De lijst met stapargumenten.

inputs
Vereist

De lijst met stapinvoer.

outputs
Vereist

De lijst met stapuitvoer.