Delen via


ParallelRunStep Klas

Hiermee maakt u een Azure Machine Learning-pijplijnstap voor het asynchroon en parallel verwerken van grote hoeveelheden gegevens.

Zie het notebook https://aka.ms/batch-inference-notebooksvoor een voorbeeld van het gebruik van ParallelRunStep.

Zie voor de gids https://aka.ms/prstsgvoor probleemoplossing. Meer verwijzingen vindt u hier.

Maak een Azure ML-pijplijnstap om grote hoeveelheden gegevens asynchroon en parallel te verwerken.

Zie de notebookkoppeling https://aka.ms/batch-inference-notebooksvoor een voorbeeld van het gebruik van ParallelRunStep.

Overname
azureml.pipeline.core._parallel_run_step_base._ParallelRunStepBase
ParallelRunStep

Constructor

ParallelRunStep(name, parallel_run_config, inputs, output=None, side_inputs=None, arguments=None, allow_reuse=True)

Parameters

Name Description
name
Vereist
str

Naam van de stap. Moet uniek zijn voor de werkruimte, alleen bestaan uit kleine letters, cijfers of streepjes, beginnen met een letter en tussen 3 en 32 tekens lang zijn.

parallel_run_config
Vereist

Een ParallelRunConfig-object dat wordt gebruikt om vereiste uitvoeringseigenschappen te bepalen.

inputs
Vereist

Lijst met invoergegevenssets. Alle gegevenssets in de lijst moeten van hetzelfde type zijn. Invoergegevens worden gepartitioneerd voor parallelle verwerking. Elke gegevensset in de lijst wordt afzonderlijk gepartitioneerd in minibatches en elk van de minibatches wordt in de parallelle verwerking gelijk behandeld.

output

Uitvoerpoortbinding, kan worden gebruikt door latere pijplijnstappen.

standaardwaarde: None
side_inputs

Lijst met referentiegegevens voor invoer aan de zijkant. Invoer aan de zijkant wordt niet gepartitioneerd als invoergegevens.

standaardwaarde: None
arguments

Lijst met opdrachtregelargumenten die moeten worden doorgegeven aan de Python-entry_script.

standaardwaarde: None
allow_reuse

Of de stap eerdere resultaten opnieuw moet gebruiken wanneer deze wordt uitgevoerd met dezelfde instellingen/invoerwaarden. Als dit onwaar is, wordt er altijd een nieuwe uitvoering gegenereerd voor deze stap tijdens het uitvoeren van de pijplijn.

standaardwaarde: True
name
Vereist
str

Naam van de stap. Moet uniek zijn voor de werkruimte, alleen bestaan uit kleine letters, cijfers of streepjes, beginnen met een letter en tussen 3 en 32 tekens lang zijn.

parallel_run_config
Vereist

Een ParallelRunConfig-object dat wordt gebruikt om vereiste uitvoeringseigenschappen te bepalen.

inputs
Vereist

Lijst met invoergegevenssets. Alle gegevenssets in de lijst moeten van hetzelfde type zijn. Invoergegevens worden gepartitioneerd voor parallelle verwerking. Elke gegevensset in de lijst wordt afzonderlijk gepartitioneerd in minibatches en elk van de minibatches wordt in de parallelle verwerking gelijk behandeld.

output
Vereist

Uitvoerpoortbinding, kan worden gebruikt door latere pijplijnstappen.

side_inputs
Vereist

Lijst met referentiegegevens voor invoer aan de zijkant. Invoer aan de zijkant wordt niet gepartitioneerd als invoergegevens.

arguments
Vereist

Lijst met opdrachtregelargumenten die moeten worden doorgegeven aan de Python-entry_script.

allow_reuse
Vereist

Of de stap eerdere resultaten opnieuw moet gebruiken wanneer deze wordt uitgevoerd met dezelfde instellingen/invoerwaarden. Als dit onwaar is, wordt er altijd een nieuwe uitvoering gegenereerd voor deze stap tijdens het uitvoeren van de pijplijn.

Opmerkingen

ParallelRunStep kan worden gebruikt om parallel grote hoeveelheden gegevens te verwerken. Veelvoorkomende toepassingen zijn het trainen van een ML-model of het uitvoeren van offline deductie om voorspellingen te genereren voor een batch van waarnemingen. Bij ParallelRunStep worden uw gegevens opgedeeld in batches die parallel worden verwerkt. Het aantal batchgrootte knooppunten en andere instelbare parameters om uw parallelle verwerking te versnellen, kunnen worden beheerd met de ParallelRunConfig klasse. ParallelRunStep kan met TabularDataset of FileDataset als invoer werken.

U kunt ParallelRunStep als volgt gebruiken:

  • Maak een ParallelRunConfig object om op te geven hoe batchverwerking wordt uitgevoerd, met parameters voor het beheren van de batchgrootte, het aantal knooppunten per rekendoel en een verwijzing naar uw aangepaste Python-script.

  • Maak een ParallelRunStep-object dat gebruikmaakt van het object ParallelRunConfig en definieer invoer en uitvoer voor de stap.

  • Gebruik het geconfigureerde parallelrunstep-object in een Pipeline op dezelfde wijze als bij andere typen pijplijnstappen.

Voorbeelden van het werken met de klassen ParallelRunStep en ParallelRunConfig voor batchdeductie worden besproken in de volgende artikelen:


   from azureml.pipeline.steps import ParallelRunStep, ParallelRunConfig

   parallel_run_config = ParallelRunConfig(
       source_directory=scripts_folder,
       entry_script=script_file,
       mini_batch_size="5",
       error_threshold=10,         # Optional, allowed failed count on mini batch items
       allowed_failed_count=15,    # Optional, allowed failed count on mini batches
       allowed_failed_percent=10,  # Optional, allowed failed percent on mini batches
       output_action="append_row",
       environment=batch_env,
       compute_target=compute_target,
       node_count=2)

   parallelrun_step = ParallelRunStep(
       name="predict-digits-mnist",
       parallel_run_config=parallel_run_config,
       inputs=[ named_mnist_ds ],
       output=output_dir,
       arguments=[ "--extra_arg", "example_value" ],
       allow_reuse=True
   )

Zie het notebook https://aka.ms/batch-inference-notebooksvoor meer informatie over dit voorbeeld.

Methoden

create_module_def

Maak het moduledefinitieobject dat de stap beschrijft.

Deze methode is niet bedoeld om rechtstreeks te worden gebruikt.

create_node

Maak een knooppunt voor PythonScriptStep en voeg dit toe aan de opgegeven grafiek.

Deze methode is niet bedoeld om rechtstreeks te worden gebruikt. Wanneer een pijplijn wordt geïnstantieerd met ParallelRunStep, geeft Azure Machine Learning automatisch de vereiste parameters door via deze methode, zodat de stap kan worden toegevoegd aan een pijplijngrafiek die de werkstroom vertegenwoordigt.

create_module_def

Maak het moduledefinitieobject dat de stap beschrijft.

Deze methode is niet bedoeld om rechtstreeks te worden gebruikt.

create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, arguments=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 definities van stapparameters.

standaardwaarde: None
create_sequencing_ports

Als dit waar is, worden er sequentiërende poorten gemaakt voor de module.

standaardwaarde: True
allow_reuse

Als dit waar is, is de module beschikbaar voor hergebruik in toekomstige pijplijnen.

standaardwaarde: True
version
str

De versie van de module.

standaardwaarde: None
arguments

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

standaardwaarde: None

Retouren

Type Description

Het moduledef-object.

create_node

Maak een knooppunt voor PythonScriptStep en voeg dit toe aan de opgegeven grafiek.

Deze methode is niet bedoeld om rechtstreeks te worden gebruikt. Wanneer een pijplijn wordt geïnstantieerd met ParallelRunStep, geeft Azure Machine Learning automatisch de vereiste parameters door via deze methode, zodat de stap kan worden toegevoegd aan een pijplijngrafiek die de werkstroom vertegenwoordigt.

create_node(graph, default_datastore, context)

Parameters

Name Description
graph
Vereist

Grafiekobject.

default_datastore
Vereist

Standaardgegevensarchief.

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

Context.

Retouren

Type Description

Het gemaakte knooppunt.