Share via


ParallelRunConfig Klas

Hiermee definieert u de configuratie voor een ParallelRunStep object.

Notitie

Dit pakket, azureml-contrib-pipeline-steps, is afgeschaft en verplaatst naar azureml-pipeline-steps.

Gebruik de klasse van het ParallelRunConfig nieuwe pakket.

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.

Initialiseer het configuratieobject.

Overname
builtins.object
ParallelRunConfig

Constructor

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)

Parameters

Name Description
environment
Vereist

De omgevingsdefinitie waarmee de Python-omgeving wordt geconfigureerd. Deze kan worden geconfigureerd voor het gebruik van een bestaande Python-omgeving of voor het instellen van een tijdelijke omgeving voor het experiment. De definitie is ook verantwoordelijk voor het instellen van de vereiste toepassingsafhankelijkheden.

entry_script
Vereist
str

Gebruikersscript dat parallel op meerdere knooppunten wordt uitgevoerd. Dit is opgegeven als lokaal bestandspad. Als source_directory is opgegeven, is er entry_script een relatief pad in. Anders kan het een willekeurig pad zijn dat toegankelijk is op de computer.

error_threshold
Vereist
int

Het aantal recordfouten voor TabularDataset en bestandsfouten hiervoor FileDataset moet tijdens de verwerking worden genegeerd. Als het aantal fouten boven deze waarde komt, wordt de taak afgebroken. De foutdrempelwaarde geldt voor de volledige invoer en niet voor afzonderlijke minibatches die zijn verzonden naar de methode run(). Het bereik is [-1, int.max]. -1 geeft aan dat alle fouten tijdens de verwerking worden genegeerd.

output_action
Vereist
str

Hoe de uitvoer moet worden georganiseerd. Momenteel ondersteunde waarden zijn 'append_row' en 'summary_only'.

  1. 'append_row': alle waarden die worden uitgevoerd door run() methode-aanroepen worden samengevoegd tot één uniek bestand met de naam parallel_run_step.txt dat wordt gemaakt op de uitvoerlocatie.
  2. 'summary_only': van het gebruikersscript wordt verwacht dat de uitvoer zelf wordt opgeslagen. Er wordt nog steeds een uitvoerrij verwacht voor elk verwerkt invoeritem. Het systeem gebruikt deze uitvoer alleen voor foutdrempelberekening (waarbij de werkelijke waarde van de rij wordt genegeerd).
compute_target
Vereist

Rekendoel dat moet worden gebruikt voor ParallelRunStep. Deze parameter kan worden opgegeven als een rekendoelobject of de tekenreeksnaam van een rekendoel in de werkruimte.

node_count
Vereist
int

Het aantal knooppunten in het rekendoel dat wordt gebruikt voor het uitvoeren van de ParallelRunStep.

process_count_per_node
int

Het aantal processen dat op elk knooppunt wordt uitgevoerd. (optioneel, standaardwaarde is het aantal kernen op het knooppunt.)

standaardwaarde: None
mini_batch_size
str

Voor FileDataset-invoer is dit veld het aantal bestanden dat een gebruikersscript kan verwerken in één run()-aanroep. Voor TabularDataset-invoer is dit veld de geschatte grootte van de gegevens die het gebruikersscript kan verwerken in één run()-aanroep. Voorbeeldwaarden zijn 1024, 1024 kB, 10 MB en 1 GB. (optioneel, de standaardwaarde is 10 bestanden voor FileDataset en 1 MB voor TabularDataset.)

standaardwaarde: None
source_directory
str

Paden naar mappen die de entry_script ondersteunende bestanden en bevatten die worden gebruikt om uit te voeren op het rekendoel.

standaardwaarde: None
description
str

Een beschrijving voor de batchservice die wordt gebruikt voor weergavedoeleinden.

standaardwaarde: None
logging_level
str

Een tekenreeks van de naam van het logboekregistratieniveau, die is gedefinieerd in 'logboekregistratie'. Mogelijke waarden zijn WAARSCHUWING, INFO en FOUTOPSPORING. (optioneel, standaardwaarde is 'INFO'.)

standaardwaarde: None
run_invocation_timeout
int

Time-out in seconden voor elke aanroep van de methode run(). (optioneel, standaardwaarde is 60.)

standaardwaarde: None
input_format
str

Afgeschaft.

standaardwaarde: None
environment
Vereist

De omgevingsdefinitie waarmee de Python-omgeving wordt geconfigureerd. Deze kan worden geconfigureerd voor het gebruik van een bestaande Python-omgeving of voor het instellen van een tijdelijke omgeving voor het experiment. De definitie is ook verantwoordelijk voor het instellen van de vereiste toepassingsafhankelijkheden.

entry_script
Vereist
str

Gebruikersscript dat parallel op meerdere knooppunten wordt uitgevoerd. Dit is opgegeven als lokaal bestandspad. Als source_directory is opgegeven, is er entry_script een relatief pad in. Anders kan het een willekeurig pad zijn dat toegankelijk is op de computer.

error_threshold
Vereist
int

Het aantal recordfouten voor TabularDataset en bestandsfouten hiervoor FileDataset moet tijdens de verwerking worden genegeerd. Als het aantal fouten boven deze waarde komt, wordt de taak afgebroken. De foutdrempelwaarde geldt voor de volledige invoer en niet voor afzonderlijke minibatches die zijn verzonden naar de methode run(). Het bereik is [-1, int.max]. -1 geeft aan dat alle fouten tijdens de verwerking worden genegeerd.

output_action
Vereist
str

Hoe de uitvoer moet worden georganiseerd. Momenteel ondersteunde waarden zijn 'append_row' en 'summary_only'.

  1. 'append_row': alle waarden die worden uitgevoerd door run() methode-aanroepen worden samengevoegd tot één uniek bestand met de naam parallel_run_step.txt dat wordt gemaakt op de uitvoerlocatie.
  2. 'summary_only': van het gebruikersscript wordt verwacht dat de uitvoer zelf wordt opgeslagen. Er wordt nog steeds een uitvoerrij verwacht voor elk verwerkt invoeritem. Het systeem gebruikt deze uitvoer alleen voor foutdrempelberekening (waarbij de werkelijke waarde van de rij wordt genegeerd).
compute_target
Vereist

Rekendoel dat moet worden gebruikt voor ParallelRunStep. Deze parameter kan worden opgegeven als een rekendoelobject of de tekenreeksnaam van een rekendoel in de werkruimte.

node_count
Vereist
int

Het aantal knooppunten in het rekendoel dat wordt gebruikt voor het uitvoeren van de ParallelRunStep.

process_count_per_node
Vereist
int

Het aantal processen dat op elk knooppunt wordt uitgevoerd. (optioneel, standaardwaarde is het aantal kernen op het knooppunt.)

mini_batch_size
Vereist
str

Voor FileDataset-invoer is dit veld het aantal bestanden dat een gebruikersscript kan verwerken in één run()-aanroep. Voor TabularDataset-invoer is dit veld de geschatte grootte van de gegevens die het gebruikersscript kan verwerken in één run()-aanroep. Voorbeeldwaarden zijn 1024, 1024 kB, 10 MB en 1 GB. (optioneel, de standaardwaarde is 10 bestanden voor FileDataset en 1 MB voor TabularDataset.)

source_directory
Vereist
str

Paden naar mappen die de entry_script ondersteunende bestanden en bevatten die worden gebruikt om uit te voeren op het rekendoel.

description
Vereist
str

Een beschrijving voor de batchservice die wordt gebruikt voor weergavedoeleinden.

logging_level
Vereist
str

Een tekenreeks van de naam van het logboekregistratieniveau, die is gedefinieerd in 'logboekregistratie'. Mogelijke waarden zijn WAARSCHUWING, INFO en FOUTOPSPORING. (optioneel, standaardwaarde is 'INFO'.)

run_invocation_timeout
Vereist
int

Time-out in seconden voor elke aanroep van de methode run(). (optioneel, standaardwaarde is 60.)

input_format
Vereist
str

Afgeschaft.

append_row_file_name
standaardwaarde: None

Opmerkingen

De klasse ParallelRunConfig wordt gebruikt om de configuratie voor de ParallelRunStep klasse op te geven. De klassen ParallelRunConfig en ParallelRunStep kunnen samen worden gebruikt voor elk soort verwerkingstaak die grote hoeveelheden gegevens omvat en niet tijdgevoelig is, zoals training of scoren. ParallelRunStep werkt door een grote taak op te splitsen in batches die parallel worden verwerkt. De batchgrootte en de mate van parallelle verwerking kunnen worden bepaald met de ParallelRunConfig klasse . ParallelRunStep kan werken met TabularDataset of FileDataset als invoer.

Voor het werken met de klasse ParallelRunStep is het volgende patroon gebruikelijk:

  • 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, invoer en uitvoer voor de stap definieert en een lijst met te gebruiken modellen.

  • Gebruik het geconfigureerde ParallelRunStep-object in een Pipeline op dezelfde wijze als u zou doen met pijplijnstaptypen die in het steps pakket zijn gedefinieerd.

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


   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
   )

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

Methoden

load_yaml

Configuratiegegevens van parallelle uitvoering laden vanuit een YAML-bestand.

save_to_yaml

Exporteer configuratiegegevens voor parallelle uitvoering naar een YAML-bestand.

load_yaml

Configuratiegegevens van parallelle uitvoering laden vanuit een YAML-bestand.

static load_yaml(workspace, path)

Parameters

Name Description
workspace
Vereist

De werkruimte waaruit de configuratiegegevens moeten worden gelezen.

path
Vereist
str

Het pad waaruit de configuratie moet worden geladen.

save_to_yaml

Exporteer configuratiegegevens voor parallelle uitvoering naar een YAML-bestand.

save_to_yaml(path)

Parameters

Name Description
path
Vereist
str

Het pad om het bestand op te slaan.