Delen via


PipelineStep Klas

Vertegenwoordigt een uitvoeringsstap in een Azure Machine Learning-pijplijn.

Pijplijnen worden samengesteld uit meerdere pijplijnstappen. Dit zijn afzonderlijke rekenkundige eenheden in de pijplijn. Elke stap kan onafhankelijk worden uitgevoerd en geïsoleerde rekenresources worden gebruikt. Elke stap heeft doorgaans zijn eigen benoemde invoer, uitvoer en parameters.

De klasse PipelineStep is de basisklasse waarvan andere ingebouwde stapklassen die zijn ontworpen voor algemene scenario's overnemen, zoals PythonScriptStep, DataTransferStepen HyperDriveStep.

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

Initialiseer PipelineStep.

Overname
builtins.object
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 uitvoer van stappen.

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 True en een invoer en uitvoer dezelfde naam hebben, wordt de invoer voorafgegaan door 'INPUT'. De standaardwaarde is False.

Default value: False
resource_inputs

Een optionele lijst met invoer die als resources moet worden gebruikt. 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 uitvoer van stappen.

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 True en een invoer en uitvoer dezelfde naam hebben, wordt de invoer voorafgegaan door 'INPUT'. De standaardwaarde is False.

resource_inputs
Vereist

Een optionele lijst met invoer die als resources moet worden gebruikt. 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 uitvoeringsdoel (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 Pipelinete maken, die een deelbare en herbruikbare Azure Machine Learning-werkstroom vertegenwoordigt. Elke stap van een pijplijn kan zodanig worden geconfigureerd dat de vorige uitvoeringsresultaten opnieuw kunnen worden gebruikt als de inhoud van de stap (scripts/afhankelijkheden) evenals de invoer en parameters ongewijzigd blijven. Wanneer u de stap opnieuw gebruikt, worden de resultaten van de vorige uitvoering onmiddellijk beschikbaar gemaakt voor eventuele volgende stappen in plaats van de taak te verzenden om te berekenen.

Azure Machine Learning-pijplijnen biedt ingebouwde stappen voor veelvoorkomende scenario's. Zie het pakket en de stepsAutoMLStep klasse voor voorbeelden. Zie voor een overzicht van het maken van een pijplijn op basis van vooraf gemaakte stappen https://aka.ms/pl-first-pipeline.

Vooraf gemaakte stappen die zijn afgeleid van PipelineStep zijn stappen die in één pijplijn worden gebruikt. Als uw machine learning-werkstroom vereist dat er stappen worden gemaakt die kunnen worden geversieerd en gebruikt in verschillende pijplijnen, gebruikt u de Module klasse.

Houd rekening met het volgende bij het werken met pijplijnstappen, invoer-/uitvoergegevens en staphergebruik.

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

  • Het onderhouden van afzonderlijke mappen voor scripts en afhankelijke bestanden voor elke stap helpt de grootte van de momentopname die voor elke stap is gemaakt te verkleinen, omdat alleen de specifieke map een momentopname wordt gemaakt. Omdat wijzigingen in bestanden in de source_directory van de stap een herupload van de momentopname activeren, waarbij elke stap afzonderlijke mappen worden onderhouden, helpt het over 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 in een stap worden gebruikt zich in een gegevensarchief bevindt 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

Maak invoer- en uitvoerbindingen 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 de 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, zich in de invoer- en uitvoerlijsten bevinden.

create_input_output_bindings

Maak invoer- en uitvoerbindingen 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 uitvoer van stappen.

default_datastore
Vereist

Het standaardgegevensarchief.

resource_inputs

De lijst met invoer die als resources moet worden gebruikt. 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 stap invoerbindingen.

output_bindings
Vereist

De stap voert bindingen uit.

param_defs

De parameterdefinities van de stap.

Default value: None
create_sequencing_ports

Hiermee geeft u op of er 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 er slechts twee typen ondersteund: 'None' en 'BatchInferencing'. module_type verschilt van execution_type wat aangeeft welk type back-endservice moet worden gebruikt om deze module uit te voeren.

Default value: None
arguments

Lijst met argumenten met aantekeningen 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 moet worden gebruikt voor deze stap.

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

Het contextobject van de grafiek.

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 contextobject van de grafiek.

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 de 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 uitvoer van stappen.

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 stap1 en 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, zich in de invoer- en uitvoerlijsten bevinden.

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 uitvoer van stappen.