ParallelRunConfig Klas  
Hiermee definieert u de configuratie voor een ParallelRunStep object.
Zie het notebook https://aka.ms/batch-inference-notebooksvoor een voorbeeld van het gebruik van ParallelRunStep.
Zie voor probleemoplossingsgids https://aka.ms/prstsg. Hier vindt u meer verwijzingen.
Initialiseer het configuratieobject.
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='INFO', run_invocation_timeout=60, run_max_try=3, append_row_file_name=None, allowed_failed_count=None, allowed_failed_percent=None, partition_keys=None, environment_variables=None)
		Parameters
| Name | Description | 
|---|---|
| 
		 environment 
			
				Vereist
			 
	 | 
	
		
		 De omgevingsdefinitie waarmee de Python-omgeving wordt geconfigureerd. Het kan worden geconfigureerd voor het gebruik van een bestaande Python-omgeving of voor het instellen van een tijdelijke omgeving voor het experiment. De omgevingsdefinitie is verantwoordelijk voor het definiëren van de vereiste toepassingsafhankelijkheden, zoals conda- of pip-pakketten.  | 
| 
		 entry_script 
			
				Vereist
			 
	 | 
	
		
		 Gebruikersscript dat parallel wordt uitgevoerd op meerdere knooppunten. Dit wordt opgegeven als een lokaal bestandspad. Als   | 
| 
		 error_threshold 
			
				Vereist
			 
	 | 
	
		
		 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. Foutdrempel is voor de volledige invoer en niet voor afzonderlijke minibatches die naar de methode run() worden verzonden. Het bereik is [-1, int.max]. -1 geeft aan dat alle fouten tijdens de verwerking worden genegeerd.  | 
| 
		 output_action 
			
				Vereist
			 
	 | 
	
		
		 Hoe de uitvoer moet worden ingedeeld. De huidige ondersteunde waarden zijn 'append_row' en 'summary_only'. 
  | 
| 
		 compute_target 
			
				Vereist
			 
	 | 
	
		 
				AmlCompute of 
				str
		 
		Rekendoel dat moet worden gebruikt voor parallellerunstep-uitvoering. Deze parameter kan worden opgegeven als een rekendoelobject of de naam van een rekendoel in de werkruimte.  | 
| 
		 node_count 
			
				Vereist
			 
	 | 
	
		
		 Het aantal knooppunten in het rekendoel dat wordt gebruikt voor het uitvoeren van de ParallelRunStep.  | 
| 
		 process_count_per_node 
	 | 
	
		
		 Het aantal werkprocessen per knooppunt om het invoerscript parallel uit te voeren.
Voor GPU-machine is de standaardwaarde 1.
Voor de CPU-machine is de standaardwaarde het aantal kernen.
Een werkproces wordt herhaaldelijk aangeroepen  Default value: None 
			 | 
| 
		 mini_batch_size 
	 | 
	
		
		 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 gegevens die het gebruikersscript in één run()-aanroep kan verwerken. Voorbeeldwaarden zijn 1024, 1024 KB, 10 MB en 1 GB. (Optioneel is de standaardwaarde 10 bestanden voor FileDataset en 1 MB voor TabularDataset.) Default value: None 
			 | 
| 
		 source_directory 
	 | 
	
		
		 Pad naar map die de  Default value: None 
			 | 
| 
		 description 
	 | 
	
		
		 Een beschrijving om de batchservice te geven die wordt gebruikt voor weergavedoeleinden. Default value: None 
			 | 
| 
		 logging_level 
	 | 
	
		
		 Een tekenreeks van de naam van het logboekregistratieniveau, die is gedefinieerd in 'logboekregistratie'. Mogelijke waarden zijn WAARSCHUWING, INFO en FOUTOPSPORING. (Optioneel is de standaardwaarde INFO.) Default value: INFO 
			 | 
| 
		 run_invocation_timeout 
	 | 
	
		
		 Time-out in seconden voor elke aanroep van de methode run(). (Optioneel, de standaardwaarde is 60.) Default value: 60 
			 | 
| 
		 run_max_try 
	 | 
	
		
		 Het maximum aantal pogingen voor een mislukte of time-out minibatch. Het bereik is [1, int.max]. De standaardwaarde is 3. Een minibatch met het aantal dequeues groter dan dit wordt niet opnieuw verwerkt en wordt rechtstreeks verwijderd. Default value: 3 
			 | 
| 
		 append_row_file_name 
	 | 
	
		
		 De naam van het uitvoerbestand als de  Default value: None 
			 | 
| 
		 allowed_failed_count 
	 | 
	
		
		 Het aantal mislukte minibatches dat tijdens de verwerking moet worden genegeerd. Als het aantal mislukte pogingen hoger is dan deze waarde, wordt de taak afgebroken. Deze drempelwaarde is bedoeld voor de volledige invoer in plaats van de afzonderlijke minibatch die is verzonden om de methode run() uit te voeren. Het bereik is [-1, int.max]. -1 geeft aan dat alle fouten tijdens de verwerking worden genegeerd. Een minibatch kan mislukken wanneer deze de eerste keer wordt verwerkt en vervolgens slaagt bij de tweede poging. Controleren tussen de eerste en tweede keer wordt geteld als mislukt. Als u na de tweede keer controleert, wordt deze niet meegeteld als mislukt. Het argument –error_threshold, –allowed_failed_count en –allowed_failed_percent kunnen samenwerken. Als er meer dan één opgegeven is, wordt de taak afgebroken als deze groter is dan een van de opgegeven taken. Default value: None 
			 | 
| 
		 allowed_failed_percent 
	 | 
	
		
		 Het percentage mislukte minibatches dat tijdens de verwerking moet worden genegeerd. Als het mislukte percentage hoger is dan deze waarde, wordt de taak afgebroken. Deze drempelwaarde is bedoeld voor de volledige invoer in plaats van de afzonderlijke minibatch die is verzonden om de methode run() uit te voeren. Het bereik is [0, 100]. 100 of 100.0 geeft aan dat alle fouten tijdens de verwerking worden genegeerd. De controle wordt gestart nadat alle minibatches zijn gepland. Het argument –error_threshold, –allowed_failed_count en –allowed_failed_percent kunnen samenwerken. Als er meer dan één opgegeven is, wordt de taak afgebroken als deze groter is dan een van de opgegeven taken. Default value: None 
			 | 
| 
		 partition_keys 
	 | 
	
		
		 De sleutels die worden gebruikt voor het partitioneren van gegevenssets in minibatches. Indien opgegeven, worden de gegevens met dezelfde sleutel gepartitioneerd in dezelfde minibatch. Als zowel partition_keys als mini_batch_size zijn opgegeven, wordt er een fout gegenereerd. Dit moet een lijst zijn met str-elementen die elk een sleutel zijn die wordt gebruikt voor het partitioneren van de invoergegevensset. Als u echter wordt gepromoveerd naar PipelineParameter, moeten de standaardwaarden de json-dump str van de lijst zijn omdat het lijsttype voorlopig niet wordt ondersteund in PipelineParameter. De invoer(en) moeten een of meer gepartitioneerde gegevenssets zijn en de partition_keys moet een subset zijn van de sleutels van elke invoergegevensset om dit te laten werken. Default value: None 
			 | 
| 
		 environment_variables 
	 | 
	
		
		 Een woordenlijst met namen en waarden van omgevingsvariabelen. Deze omgevingsvariabelen worden ingesteld voor het proces waarin het gebruikersscript wordt uitgevoerd. Default value: None 
			 | 
| 
		 environment 
			
				Vereist
			 
	 | 
	
		
		 De omgevingsdefinitie waarmee de Python-omgeving wordt geconfigureerd. Het kan worden geconfigureerd voor het gebruik van een bestaande Python-omgeving of voor het instellen van een tijdelijke omgeving voor het experiment. De omgevingsdefinitie is verantwoordelijk voor het definiëren van de vereiste toepassingsafhankelijkheden, zoals conda- of pip-pakketten.  | 
| 
		 entry_script 
			
				Vereist
			 
	 | 
	
		
		 Gebruikersscript dat parallel wordt uitgevoerd op meerdere knooppunten. Dit wordt opgegeven als een lokaal bestandspad. Als   | 
| 
		 error_threshold 
			
				Vereist
			 
	 | 
	
		
		 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. Foutdrempel is voor de volledige invoer en niet voor afzonderlijke minibatches die naar de methode run() worden verzonden. Het bereik is [-1, int.max]. -1 geeft aan dat alle fouten tijdens de verwerking worden genegeerd.  | 
| 
		 output_action 
			
				Vereist
			 
	 | 
	
		
		 Hoe de uitvoer moet worden ingedeeld. De huidige ondersteunde waarden zijn 'append_row' en 'summary_only'. 
  | 
| 
		 compute_target 
			
				Vereist
			 
	 | 
	
		 
				AmlCompute of 
				str
		 
		Rekendoel dat moet worden gebruikt voor parallellerunstep-uitvoering. Deze parameter kan worden opgegeven als een rekendoelobject of de naam van een rekendoel in de werkruimte.  | 
| 
		 node_count 
			
				Vereist
			 
	 | 
	
		
		 Het aantal knooppunten in het rekendoel dat wordt gebruikt voor het uitvoeren van de ParallelRunStep.  | 
| 
		 process_count_per_node 
			
				Vereist
			 
	 | 
	
		
		 Het aantal werkprocessen per knooppunt om het invoerscript parallel uit te voeren.
Voor een GPU-machine is de standaardwaarde 1.
Voor een CPU-machine is de standaardwaarde het aantal kernen.
Een werkproces wordt herhaaldelijk aangeroepen   | 
| 
		 mini_batch_size 
			
				Vereist
			 
	 | 
	
		
		 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 gegevens die het gebruikersscript in één run()-aanroep kan verwerken. Voorbeeldwaarden zijn 1024, 1024 KB, 10 MB en 1 GB. (Optioneel is de standaardwaarde 10 bestanden voor FileDataset en 1 MB voor TabularDataset.)  | 
| 
		 source_directory 
			
				Vereist
			 
	 | 
	
		
		 Pad naar map die de   | 
| 
		 description 
			
				Vereist
			 
	 | 
	
		
		 Een beschrijving om de batchservice te geven die wordt gebruikt voor weergavedoeleinden.  | 
| 
		 logging_level 
			
				Vereist
			 
	 | 
	
		
		 Een tekenreeks van de naam van het logboekregistratieniveau, die is gedefinieerd in 'logboekregistratie'. Mogelijke waarden zijn WAARSCHUWING, INFO en FOUTOPSPORING. (Optioneel is de standaardwaarde INFO.)  | 
| 
		 run_invocation_timeout 
			
				Vereist
			 
	 | 
	
		
		 Time-out in seconden voor elke aanroep van de methode run(). (Optioneel, de standaardwaarde is 60.)  | 
| 
		 run_max_try 
			
				Vereist
			 
	 | 
	
		
		 Het maximum aantal pogingen voor een mislukte of time-out minibatch. Het bereik is [1, int.max]. De standaardwaarde is 3. Een minibatch met het aantal dequeues groter dan dit wordt niet opnieuw verwerkt en wordt rechtstreeks verwijderd.  | 
| 
		 append_row_file_name 
			
				Vereist
			 
	 | 
	
		
		 De naam van het uitvoerbestand als de   | 
| 
		 allowed_failed_count 
			
				Vereist
			 
	 | 
	
		
		 Het aantal mislukte minibatches dat tijdens de verwerking moet worden genegeerd. Als het aantal mislukte pogingen hoger is dan deze waarde, wordt de taak afgebroken. Deze drempelwaarde is bedoeld voor de volledige invoer in plaats van de afzonderlijke minibatch die is verzonden om de methode run() uit te voeren. Het bereik is [-1, int.max]. -1 geeft aan dat alle fouten tijdens de verwerking worden genegeerd. Een minibatch kan mislukken wanneer deze de eerste keer wordt verwerkt en vervolgens slaagt bij de tweede poging. Controleren tussen de eerste en tweede keer wordt geteld als mislukt. Als u na de tweede keer controleert, wordt deze niet meegeteld als mislukt. Het argument –error_threshold, –allowed_failed_count en –allowed_failed_percent kunnen samenwerken. Als er meer dan één opgegeven is, wordt de taak afgebroken als deze groter is dan een van de opgegeven taken.  | 
| 
		 allowed_failed_percent 
			
				Vereist
			 
	 | 
	
		
		 Het percentage mislukte minibatches dat tijdens de verwerking moet worden genegeerd. Als het mislukte percentage hoger is dan deze waarde, wordt de taak afgebroken. Deze drempelwaarde is bedoeld voor de volledige invoer in plaats van de afzonderlijke minibatch die is verzonden om de methode run() uit te voeren. Het bereik is [0, 100]. 100 of 100.0 geeft aan dat alle fouten tijdens de verwerking worden genegeerd. De controle wordt gestart nadat alle minibatches zijn gepland. Het argument –error_threshold, –allowed_failed_count en –allowed_failed_percent kunnen samenwerken. Als er meer dan één opgegeven is, wordt de taak afgebroken als deze groter is dan een van de opgegeven taken.  | 
| 
		 partition_keys 
			
				Vereist
			 
	 | 
	
		
		 De sleutels die worden gebruikt voor het partitioneren van gegevenssets in minibatches. Indien opgegeven, worden de gegevens met dezelfde sleutel gepartitioneerd in dezelfde minibatch. Als zowel partition_keys als mini_batch_size zijn opgegeven, wordt er een fout gegenereerd. Dit moet een lijst zijn met str-elementen die elk een sleutel zijn die wordt gebruikt voor het partitioneren van de invoergegevensset. Als u echter wordt gepromoveerd naar PipelineParameter, moeten de standaardwaarden de json-dump str van de lijst zijn omdat het lijsttype voorlopig niet wordt ondersteund in PipelineParameter. De invoer(en) moeten een of meer gepartitioneerde gegevenssets zijn en de partition_keys moet een subset zijn van de sleutels van elke invoergegevensset om dit te laten werken.  | 
| 
		 environment_variables 
			
				Vereist
			 
	 | 
	
		
		 Een woordenlijst met namen en waarden van omgevingsvariabelen. Deze omgevingsvariabelen worden ingesteld voor het proces waarin het gebruikersscript wordt uitgevoerd.  | 
Opmerkingen
De klasse ParallelRunConfig wordt gebruikt om de configuratie voor de ParallelRunStep klasse te bieden. ParallelRunConfig en ParallelRunStep kunnen samen worden gebruikt voor het parallel verwerken van grote hoeveelheden gegevens. 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. De batchgrootte, het aantal knooppunten en andere niet-instelbare parameters om uw parallelle verwerking te versnellen, kunnen worden beheerd met de ParallelRunConfig klasse. ParallelRunStep kan met TabularDataset of FileDataset als invoer werken.
ParallelRunStep en ParallelRunConfig 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 ParallelRunConfig-object, definieert invoer en uitvoer voor de stap.
Gebruik het geconfigureerde ParallelRunStep-object in een Pipeline net zoals u dat zou doen met andere typen pijplijnstappen.
In de volgende artikelen worden voorbeelden besproken van het werken met ParallelRunStep- en ParallelRunConfig-klassen voor batchdeductie:
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",        # or partition_keys=["key1", "key2"], which is another way to partition the
                                   # input to mini-batches, refer to the parameter description for details
       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
       run_max_try=3,
       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
| load_yaml | 
					 Laad parallelle uitvoeringsconfiguratiegegevens uit een YAML-bestand.  | 
			
| save_to_yaml | 
					 Exporteer parallelle uitvoeringsconfiguratiegegevens naar een YAML-bestand.  | 
			
load_yaml
Laad parallelle uitvoeringsconfiguratiegegevens uit een YAML-bestand.
static load_yaml(workspace, path)
		Parameters
| Name | Description | 
|---|---|
| 
		 workspace 
			
				Vereist
			 
	 | 
	
		
		 De werkruimte waaruit de configuratiegegevens moeten worden gelezen.  | 
| 
		 path 
			
				Vereist
			 
	 | 
	
		
		 Het pad van waaruit de configuratie moet worden geladen.  | 
save_to_yaml
Exporteer parallelle uitvoeringsconfiguratiegegevens naar een YAML-bestand.
save_to_yaml(path)
		Parameters
| Name | Description | 
|---|---|
| 
		 path 
			
				Vereist
			 
	 | 
	
		
		 Het pad naar het bestand opslaan.  |