ParallelRunStep Klass
Skapar ett Azure Machine Learning Pipeline-steg för att bearbeta stora mängder data asynkront och parallellt.
Ett exempel på hur du använder ParallelRunStep finns i notebook-filen https://aka.ms/batch-inference-notebooks.
Felsökningsguide finns i https://aka.ms/prstsg. Du hittar fler referenser där.
Skapa ett Azure ML Pipeline-steg för att bearbeta stora mängder data asynkront och parallellt.
Ett exempel på hur du använder ParallelRunStep finns i notebook-länken https://aka.ms/batch-inference-notebooks.
- Arv
-
azureml.pipeline.core._parallel_run_step_base._ParallelRunStepBaseParallelRunStep
Konstruktor
ParallelRunStep(name, parallel_run_config, inputs, output=None, side_inputs=None, arguments=None, allow_reuse=True)
Parametrar
Name | Description |
---|---|
name
Obligatorisk
|
Namnet på steget. Måste vara unikt för arbetsytan, endast bestå av gemener, siffror eller bindestreck, börja med en bokstav och vara mellan 3 och 32 tecken långt. |
parallel_run_config
Obligatorisk
|
Ett ParallelRunConfig-objekt som används för att fastställa nödvändiga körningsegenskaper. |
inputs
Obligatorisk
|
Lista över indatauppsättningar. Alla datauppsättningar i listan ska vara av samma typ. Indata partitioneras för parallell bearbetning. Varje datauppsättning i listan partitioneras i minibatchar separat, och var och en av minibatcherna behandlas lika i den parallella bearbetningen. |
output
|
Utdataportbindning kan användas av senare pipelinesteg. Standardvärde: None
|
side_inputs
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Lista över referensdata för sidoindata. Sidoindata partitioneras inte som indata. Standardvärde: None
|
arguments
|
Lista över kommandoradsargument som ska skickas till Python-entry_script. Standardvärde: None
|
allow_reuse
|
Om steget ska återanvända tidigare resultat när det körs med samma inställningar/indata. Om detta är falskt genereras alltid en ny körning för det här steget under pipelinekörningen. Standardvärde: True
|
name
Obligatorisk
|
Namnet på steget. Måste vara unikt för arbetsytan, endast bestå av gemener, siffror eller bindestreck, börja med en bokstav och vara mellan 3 och 32 tecken långt. |
parallel_run_config
Obligatorisk
|
Ett ParallelRunConfig-objekt som används för att fastställa nödvändiga körningsegenskaper. |
inputs
Obligatorisk
|
Lista över indatauppsättningar. Alla datauppsättningar i listan ska vara av samma typ. Indata partitioneras för parallell bearbetning. Varje datauppsättning i listan partitioneras i minibatchar separat, och var och en av minibatcherna behandlas lika i den parallella bearbetningen. |
output
Obligatorisk
|
Utdataportbindning kan användas av senare pipelinesteg. |
side_inputs
Obligatorisk
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Lista över referensdata för sidoindata. Sidoindata partitioneras inte som indata. |
arguments
Obligatorisk
|
Lista över kommandoradsargument som ska skickas till Python-entry_script. |
allow_reuse
Obligatorisk
|
Om steget ska återanvända tidigare resultat när det körs med samma inställningar/indata. Om detta är falskt genereras alltid en ny körning för det här steget under pipelinekörningen. |
Kommentarer
ParallelRunStep kan användas för bearbetning av stora mängder data parallellt. Vanliga användningsfall är att träna en ML-modell eller köra slutsatsdragning offline för att generera förutsägelser i en batch med observationer. ParallelRunStep fungerar på så sätt att dina data delas upp i batchar som bearbetas parallellt. Antalet noder för batchstorlek och andra justerbara parametrar för att påskynda den parallella bearbetningen ParallelRunConfig kan styras med klassen . ParallelRunStep kan fungera med antingen TabularDataset eller FileDataset som indata.
Så här använder du ParallelRunStep:
Skapa ett ParallelRunConfig -objekt för att ange hur batchbearbetning utförs, med parametrar för att styra batchstorlek, antal noder per beräkningsmål och en referens till ditt anpassade Python-skript.
Skapa ett ParallelRunStep-objekt som använder ParallelRunConfig-objektet och definiera indata och utdata för steget.
Använd det konfigurerade ParallelRunStep-objektet på samma Pipeline sätt som med andra typer av pipelinesteg.
Exempel på hur du arbetar med parallelrunstep- och ParallelRunConfig-klasser för batchinferens beskrivs i följande artiklar:
Självstudie: Skapa en Azure Machine Learning-pipeline för batchbedömning. Den här artikeln visar hur du använder dessa två klasser för asynkron batchbedömning i en pipeline och gör det möjligt för en REST-slutpunkt att köra pipelinen.
Kör batchslutsatsdragning på stora datamängder med hjälp av Azure Machine Learning. Den här artikeln visar hur du bearbetar stora mängder data asynkront och parallellt med ett anpassat slutsatsdragningsskript och en förtränad bildklassificeringsmodell som bygger på MNIST-datauppsättningen.
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
)
Mer information om det här exemplet finns i notebook-filen https://aka.ms/batch-inference-notebooks.
Metoder
create_module_def |
Skapa moduldefinitionsobjektet som beskriver steget. Den här metoden är inte avsedd att användas direkt. |
create_node |
Skapa en nod för PythonScriptStep och lägg till den i den angivna grafen. Den här metoden är inte avsedd att användas direkt. När en pipeline instansieras med ParallelRunStep skickar Azure Machine Learning automatiskt de parametrar som krävs via den här metoden så att steget kan läggas till i ett pipelinediagram som representerar arbetsflödet. |
create_module_def
Skapa moduldefinitionsobjektet som beskriver steget.
Den här metoden är inte avsedd att användas direkt.
create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, arguments=None)
Parametrar
Name | Description |
---|---|
execution_type
Obligatorisk
|
Körningstypen för modulen. |
input_bindings
Obligatorisk
|
Stegindatabindningar. |
output_bindings
Obligatorisk
|
Steget matar ut bindningar. |
param_defs
|
Stegparameterdefinitionerna. Standardvärde: None
|
create_sequencing_ports
|
Om det är sant skapas sekvenseringsportar för modulen. Standardvärde: True
|
allow_reuse
|
Om det är sant kommer modulen att vara tillgänglig för återanvändning i framtida pipelines. Standardvärde: True
|
version
|
Versionen av modulen. Standardvärde: None
|
arguments
|
Lista med kommenterade argument som ska användas när du anropar den här modulen. Standardvärde: None
|
Returer
Typ | Description |
---|---|
Module def-objektet. |
create_node
Skapa en nod för PythonScriptStep och lägg till den i den angivna grafen.
Den här metoden är inte avsedd att användas direkt. När en pipeline instansieras med ParallelRunStep skickar Azure Machine Learning automatiskt de parametrar som krävs via den här metoden så att steget kan läggas till i ett pipelinediagram som representerar arbetsflödet.
create_node(graph, default_datastore, context)
Parametrar
Name | Description |
---|---|
graph
Obligatorisk
|
Grafobjekt. |
default_datastore
Obligatorisk
|
Standarddatalager. |
context
Obligatorisk
|
<xref:azureml.pipeline.core._GraphContext>
Sammanhang. |
Returer
Typ | Description |
---|---|
Den skapade noden. |