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._ParallelRunStepBaseParallelRunStep
Constructor
ParallelRunStep(name, parallel_run_config, inputs, output=None, side_inputs=None, arguments=None, allow_reuse=True)
Parameters
Name | Description |
---|---|
name
Vereist
|
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. Default value: None
|
side_inputs
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Lijst met referentiegegevens voor invoer aan de zijkant. Invoer aan de zijkant wordt niet gepartitioneerd als invoergegevens. Default value: None
|
arguments
|
Lijst met opdrachtregelargumenten die moeten worden doorgegeven aan de Python-entry_script. Default value: 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. Default value: True
|
name
Vereist
|
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
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
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:
Zelfstudie: Een Azure Machine Learning-pijplijn maken voor batchscores. In dit artikel wordt beschreven hoe u deze twee klassen gebruikt voor asynchrone batchscores in een pijplijn en hoe u een REST-eindpunt activeert om de pijplijn uit te voeren.
Batchdeductie uitvoeren voor grote hoeveelheden gegevens met Azure Machine Learning. In dit artikel wordt beschreven hoe u grote hoeveelheden gegevens asynchroon en parallel verwerkt met een aangepast deductiescript en een vooraf getraind model voor afbeeldingsclassificatie voor de MNIST-gegevensset.
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
|
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. Default value: None
|
create_sequencing_ports
|
Als dit waar is, worden er sequentiërende poorten gemaakt voor de module. Default value: True
|
allow_reuse
|
Als dit waar is, is de module beschikbaar voor hergebruik in toekomstige pijplijnen. Default value: True
|
version
|
De versie van de module. Default value: None
|
arguments
|
Lijst met argumenten met aantekeningen die moeten worden gebruikt bij het aanroepen van deze module. Default value: 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. |