Share via


ParallelRunConfig Klass

Definierar konfiguration för ett ParallelRunStep objekt.

Anteckning

Det här paketet, azureml-contrib-pipeline-steps, har föråldrats och flyttats till azureml-pipeline-steps.

Använd ParallelRunConfig klassen från det nya paketet.

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.

Initiera konfigurationsobjektet.

Arv
builtins.object
ParallelRunConfig

Konstruktor

ParallelRunConfig(environment, entry_script, error_threshold, output_action, compute_target, node_count, process_count_per_node=None, mini_batch_size=None, source_directory=None, description=None, logging_level=None, run_invocation_timeout=None, input_format=None, append_row_file_name=None)

Parametrar

Name Description
environment
Obligatorisk

Miljödefinitionen som konfigurerar Python-miljön. Den kan konfigureras för att använda en befintlig Python-miljö eller för att konfigurera en temporär miljö för experimentet. Definitionen ansvarar också för att ange nödvändiga programberoenden.

entry_script
Obligatorisk
str

Användarskript som körs parallellt på flera noder. Detta anges som lokal filsökväg. Om source_directory anges är en entry_script relativ sökväg inuti. Annars kan det vara vilken sökväg som helst som kan nås på datorn.

error_threshold
Obligatorisk
int

Antalet postfel för TabularDataset och filfel för FileDataset som ska ignoreras under bearbetningen. Om antalet fel överskrider det här värdet avbryts jobbet. Tröskelvärdet för fel gäller för hela indata och inte för enskilda minibatchar som skickas till run()-metoden. Intervallet är [-1, int.max]. -1 anger ignorera alla fel under bearbetningen.

output_action
Obligatorisk
str

Hur utdata ska organiseras. Värden som stöds för närvarande är "append_row" och "summary_only".

  1. "append_row" – Alla värden som matas ut av run()-metodanrop aggregeras till en unik fil med namnet parallel_run_step.txt som skapas på utdataplatsen.
  2. "summary_only" – Användarskriptet förväntas lagra utdata på egen hand. En utdatarad förväntas fortfarande för varje bearbetat indataobjekt. Systemet använder endast dessa utdata för beräkning av feltröskel (ignorerar det faktiska värdet för raden).
compute_target
Obligatorisk
AmlCompute eller str

Beräkningsmål som ska användas för ParallelRunStep. Den här parametern kan anges som ett beräkningsmålobjekt eller strängnamnet på ett beräkningsmål på arbetsytan.

node_count
Obligatorisk
int

Antal noder i beräkningsmålet som används för att köra ParallelRunStep.

process_count_per_node
int

Antal processer som körs på varje nod. (valfritt, standardvärdet är antalet kärnor på noden.)

standardvärde: None
mini_batch_size
str

För FileDataset-indata är det här fältet antalet filer som användarskriptet kan bearbeta i ett run()-anrop. För TabularDataset-indata är det här fältet den ungefärliga storleken på data som användarskriptet kan bearbeta i ett run()-anrop. Exempelvärden är 1 024, 1 024 kB, 10 MB och 1 GB. (valfritt, standardvärdet är 10 filer för FileDataset och 1 MB för TabularDataset.)

standardvärde: None
source_directory
str

Sökvägar till mappar som innehåller de entry_script filer och stödfiler som används för att köra på beräkningsmålet.

standardvärde: None
description
str

En beskrivning för att ge batchtjänsten som används för visning.

standardvärde: None
logging_level
str

En sträng med namnet på loggningsnivån, som definieras i loggning. Möjliga värden är "WARNING", "INFO" och "DEBUG". (valfritt, standardvärdet är "INFO".)

standardvärde: None
run_invocation_timeout
int

Tidsgräns i sekunder för varje anrop av metoden run(). (valfritt, standardvärdet är 60.)

standardvärde: None
input_format
str

Inaktuellt.

standardvärde: None
environment
Obligatorisk

Miljödefinitionen som konfigurerar Python-miljön. Den kan konfigureras för att använda en befintlig Python-miljö eller för att konfigurera en temporär miljö för experimentet. Definitionen ansvarar också för att ange nödvändiga programberoenden.

entry_script
Obligatorisk
str

Användarskript som körs parallellt på flera noder. Detta anges som lokal filsökväg. Om source_directory anges är en entry_script relativ sökväg inuti. Annars kan det vara vilken sökväg som helst som kan nås på datorn.

error_threshold
Obligatorisk
int

Antalet postfel för TabularDataset och filfel för FileDataset som ska ignoreras under bearbetningen. Om antalet fel överskrider det här värdet avbryts jobbet. Tröskelvärdet för fel gäller för hela indata och inte för enskilda minibatchar som skickas till run()-metoden. Intervallet är [-1, int.max]. -1 anger ignorera alla fel under bearbetningen.

output_action
Obligatorisk
str

Hur utdata ska organiseras. Värden som stöds för närvarande är "append_row" och "summary_only".

  1. "append_row" – Alla värden som matas ut av run()-metodanrop aggregeras till en unik fil med namnet parallel_run_step.txt som skapas på utdataplatsen.
  2. "summary_only" – Användarskriptet förväntas lagra utdata på egen hand. En utdatarad förväntas fortfarande för varje bearbetat indataobjekt. Systemet använder endast dessa utdata för beräkning av feltröskel (ignorerar det faktiska värdet för raden).
compute_target
Obligatorisk
AmlCompute eller str

Beräkningsmål som ska användas för ParallelRunStep. Den här parametern kan anges som ett beräkningsmålobjekt eller strängnamnet för ett beräkningsmål på arbetsytan.

node_count
Obligatorisk
int

Antal noder i beräkningsmålet som används för att köra ParallelRunStep.

process_count_per_node
Obligatorisk
int

Antal processer som körs på varje nod. (valfritt, standardvärdet är antalet kärnor på noden.)

mini_batch_size
Obligatorisk
str

För FileDataset-indata är det här fältet antalet filer som användarskriptet kan bearbeta i ett run()-anrop. För TabularDataset-indata är det här fältet den ungefärliga storleken på data som användarskriptet kan bearbeta i ett run()-anrop. Exempelvärden är 1 024, 1 024 kB, 10 MB och 1 GB. (valfritt, standardvärdet är 10 filer för FileDataset och 1 MB för TabularDataset.)

source_directory
Obligatorisk
str

Sökvägar till mappar som innehåller de entry_script filer och stödfiler som används för att köra på beräkningsmålet.

description
Obligatorisk
str

En beskrivning för att ge batchtjänsten som används för visning.

logging_level
Obligatorisk
str

En sträng med namnet på loggningsnivån, som definieras i loggning. Möjliga värden är "WARNING", "INFO" och "DEBUG". (valfritt, standardvärdet är "INFO".)

run_invocation_timeout
Obligatorisk
int

Tidsgräns i sekunder för varje anrop av metoden run(). (valfritt, standardvärdet är 60.)

input_format
Obligatorisk
str

Inaktuellt.

append_row_file_name
standardvärde: None

Kommentarer

Klassen ParallelRunConfig används för att ange konfiguration för ParallelRunStep klassen. Klasserna ParallelRunConfig och ParallelRunStep kan användas tillsammans för alla typer av bearbetningsjobb som omfattar stora mängder data och som inte är tidskänsliga, till exempel träning eller bedömning. ParallelRunStep fungerar genom att dela upp ett stort jobb i batchar som bearbetas parallellt. Batchstorleken och graden av parallell bearbetning kan kontrolleras med ParallelRunConfig klassen . ParallelRunStep kan fungera med antingen TabularDataset eller FileDataset som indata.

Följande mönster är typiskt för att arbeta med klassen 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, definierar indata och utdata för steget och en lista över modeller som ska användas.

  • Använd det konfigurerade ParallelRunStep-objektet på samma Pipeline sätt som med pipelinestegstyper som definierats i steps paketet.

Exempel på hur du arbetar med klasserna ParallelRunStep och ParallelRunConfig för batchinferens beskrivs i följande artiklar:


   from azureml.contrib.pipeline.steps import ParallelRunStep, ParallelRunConfig

   parallel_run_config = ParallelRunConfig(
       source_directory=scripts_folder,
       entry_script=script_file,
       mini_batch_size="5",
       error_threshold=10,
       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,
       models=[ model ],
       arguments=[ ],
       allow_reuse=True
   )

Mer information om det här exemplet finns i notebook-filen https://aka.ms/batch-inference-notebooks.

Metoder

load_yaml

Läs in konfigurationsdata för parallell körning från en YAML-fil.

save_to_yaml

Exportera konfigurationsdata för parallell körning till en YAML-fil.

load_yaml

Läs in konfigurationsdata för parallell körning från en YAML-fil.

static load_yaml(workspace, path)

Parametrar

Name Description
workspace
Obligatorisk

Arbetsytan som konfigurationsdata ska läsas från.

path
Obligatorisk
str

Sökvägen som konfigurationen ska läsas in från.

save_to_yaml

Exportera konfigurationsdata för parallell körning till en YAML-fil.

save_to_yaml(path)

Parametrar

Name Description
path
Obligatorisk
str

Sökvägen som filen ska sparas till.