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.objectPipelineStep
Constructor
PipelineStep(name, inputs, outputs, arguments=None, fix_port_name_collisions=False, resource_inputs=None)
Parameters
Name | Description |
---|---|
name
Vereist
|
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
|
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
|
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
|
De versie van de module. Default value: None
|
module_type
|
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'.
Default value: None
|
arguments
|
Lijst met argumenten met aantekeningen die moeten worden gebruikt bij het aanroepen van deze module Default value: None
|
runconfig
|
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
|
De bronmap voor de stap. |
script_name
Vereist
|
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. |