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

De naam van de pijplijnstap.

inputs
list
Vereist

De lijst met stapinvoer.

outputs
list
Vereist

De lijst met uitvoer van stappen.

arguments
list
standaardwaarde: None

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

fix_port_name_collisions
bool
standaardwaarde: False

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

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.

name
str
Vereist

De naam van de pijplijnstap.

inputs
list
Vereist

De lijst met stapinvoer.

outputs
list
Vereist

De lijst met uitvoer van stappen.

arguments
list
Vereist

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

fix_port_name_collisions
bool
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
list
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

inputs
list
Vereist

De lijst met stapinvoer.

outputs
list
Vereist

De lijst met uitvoer van stappen.

default_datastore
AbstractAzureStorageDatastore of AzureDataLakeDatastore
Vereist

Het standaardgegevensarchief.

resource_inputs
list
standaardwaarde: None

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.

Retouren

Tuple van de invoerbindingen en uitvoerbindingen.

Retourtype

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

execution_type
str
Vereist

Het uitvoeringstype van de module.

input_bindings
list
Vereist

De stap invoerbindingen.

output_bindings
list
Vereist

De stap voert bindingen uit.

param_defs
list
standaardwaarde: None

De parameterdefinities van de stap.

create_sequencing_ports
bool
standaardwaarde: True

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

allow_reuse
bool
standaardwaarde: True

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

version
str
standaardwaarde: None

De versie van de module.

module_type
str
standaardwaarde: None

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.

arguments
list
standaardwaarde: None

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

runconfig
str
standaardwaarde: None

Runconfig die wordt gebruikt voor python_script_step

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

Instellingen die worden gebruikt voor clouds

Retouren

Het moduledefinitieobject.

Retourtype

create_node

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

abstract create_node(graph, default_datastore, context)

Parameters

graph
Graph
Vereist

De grafiek waaraan het knooppunt moet worden toegevoegd.

default_datastore
AbstractAzureStorageDatastore of AzureDataLakeDatastore
Vereist

Het standaardgegevensarchief dat moet worden gebruikt voor deze stap.

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

Het contextobject van de grafiek.

Retouren

Het gemaakte knooppunt.

Retourtype

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

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

Het contextobject van de grafiek.

source_directory
str
Vereist

De bronmap voor de stap.

script_name
str
Vereist

De scriptnaam voor de stap.

hash_paths
list
Vereist

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

Retouren

De bronmap en hashpaden.

Retourtype

resolve_input_arguments

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

static resolve_input_arguments(arguments, inputs, outputs, params)

Parameters

arguments
list
Vereist

Een lijst met stapargumenten.

inputs
list
Vereist

Een lijst met stapinvoer.

outputs
list
Vereist

Een lijst met uitvoer van stappen.

params
list
Vereist

Een lijst met stapparameters.

Retouren

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)

Retourtype

run_after

Voer deze stap uit na de opgegeven stap.

run_after(step)

Parameters

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

arguments
list
Vereist

De lijst met stapargumenten.

inputs
list
Vereist

De lijst met stapinvoer.

outputs
list
Vereist

De lijst met uitvoer van stappen.