ParallelRunStep Classe

Crée une étape de pipeline Azure Machine Learning pour traiter de grandes quantités de données de façon asynchrone et en parallèle.

Pour obtenir un exemple d’utilisation de ParallelRunStep, consultez le notebook https://aka.ms/batch-inference-notebooks.

Pour obtenir le guide de résolution des problèmes, consultez https://aka.ms/prstsg. Vous trouverez plus de références ici.

Créez une étape Azure ML Pipeline pour traiter de grandes quantités de données de manière asynchrone et en parallèle.

Pour obtenir un exemple d’utilisation de ParallelRunStep, consultez le lien https://aka.ms/batch-inference-notebooksde notebook .

Héritage
azureml.pipeline.core._parallel_run_step_base._ParallelRunStepBase
ParallelRunStep

Constructeur

ParallelRunStep(name, parallel_run_config, inputs, output=None, side_inputs=None, arguments=None, allow_reuse=True)

Paramètres

name
str
Obligatoire

Nom de l'étape Doit être unique à l’espace de travail, ne comporter que des lettres minuscules, des chiffres ou des tirets, commencer par une lettre et comporter entre 3 et 32 caractères.

parallel_run_config
ParallelRunConfig
Obligatoire

Objet ParallelRunConfig utilisé pour déterminer les propriétés d’exécution nécessaires.

inputs
list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
Obligatoire

Liste des jeux de données d’entrée. Tous les jeux de données de la liste doivent être du même type. Les données d’entrée seront partitionnées pour un traitement parallèle. Chaque jeu de données de la liste est partitionné en mini-lots, et chacun de ces mini-lots est traité de la même façon lors du traitement parallèle.

output
Union[PipelineData, OutputPortBinding, OutputDatasetConfig]
valeur par défaut: None

La liaison de port de sortie peut être utilisée par les étapes de pipeline ultérieures.

side_inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
valeur par défaut: None

Liste des données de référence d’entrée latérale. Les entrées latérales ne sont pas partitionnées en tant que données d’entrée.

arguments
list[str]
valeur par défaut: None

Liste des arguments de ligne de commande à passer à entry_script Python.

allow_reuse
bool
valeur par défaut: True

indique si l’étape doit réutiliser les résultats précédents lorsqu’elle est exécutée avec les mêmes paramètres ou entrées. Si la valeur est False, une nouvelle exécution sera toujours générée pour cette étape pendant l’exécution du pipeline.

name
str
Obligatoire

Nom de l'étape Doit être unique à l’espace de travail, ne comporter que des lettres minuscules, des chiffres ou des tirets, commencer par une lettre et comporter entre 3 et 32 caractères.

parallel_run_config
ParallelRunConfig
Obligatoire

Objet ParallelRunConfig utilisé pour déterminer les propriétés d’exécution nécessaires.

inputs
list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
Obligatoire

Liste des jeux de données d’entrée. Tous les jeux de données de la liste doivent être du même type. Les données d’entrée seront partitionnées pour un traitement parallèle. Chaque jeu de données de la liste est partitionné en mini-lots, et chacun de ces mini-lots est traité de la même façon lors du traitement parallèle.

output
PipelineData, OutputPortBinding
Obligatoire

La liaison de port de sortie peut être utilisée par les étapes de pipeline ultérieures.

side_inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Obligatoire

Liste des données de référence d’entrée latérale. Les entrées latérales ne sont pas partitionnées en tant que données d’entrée.

arguments
list[str]
Obligatoire

Liste des arguments de ligne de commande à passer à entry_script Python.

allow_reuse
bool
Obligatoire

indique si l’étape doit réutiliser les résultats précédents lorsqu’elle est exécutée avec les mêmes paramètres ou entrées. Si la valeur est false, une nouvelle exécution sera toujours générée pour cette étape pendant l’exécution du pipeline.

Remarques

ParallelRunStep permet de traiter de grandes quantités de données en parallèle. Les cas d’usage courants sont l’entraînement d’un modèle ML ou l’exécution de l’inférence hors connexion pour générer des prédictions sur un lot d’observations. ParallelRunStep divise vos données en plusieurs lots qui seront traités en parallèle. Le nombre de nœuds de taille de lot et d’autres paramètres réglables pour accélérer votre traitement parallèle peuvent être contrôlés avec la classe ParallelRunConfig. ParallelRunStep peut fonctionner avec TabularDataset ou FileDataset en tant qu’entrée.

Pour utiliser ParallelRunStep :

  • Créez un objet ParallelRunConfig pour spécifier le mode d’exécution du traitement par lots, en définissant les paramètres pour contrôler la taille de lot, le nombre de nœuds par cible de calcul et une référence à votre script Python personnalisé.

  • Créez un objet ParallelRunStep qui utilise l’objet ParallelRunConfig, et définissez les entrées et sorties de l’étape.

  • Utilisez l’objet ParallelRunStep configuré dans un Pipeline comme vous le feriez avec d’autres types d’étapes de pipeline.

Vous trouverez des exemples d’utilisation des classes ParallelRunStep et ParallelRunConfig pour l’inférence de lot dans les articles suivants :


   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
   )

Pour plus d’informations sur cet exemple, consultez le notebook https://aka.ms/batch-inference-notebooks.

Méthodes

create_module_def

Crée l’objet de définition de module qui décrit l’étape.

Cette méthode n’est pas destinée à être utilisée directement.

create_node

Créez un nœud pour PythonScriptStep et ajoutez-le au graphique spécifié.

Cette méthode n’est pas destinée à être utilisée directement. Lorsqu’un pipeline est instancié avec ParallelRunStep, Azure Machine Learning transmet automatiquement les paramètres requis via cette méthode afin que l’étape puisse être ajoutée à un graphe de pipeline qui représente le workflow.

create_module_def

Crée l’objet de définition de module qui décrit l’étape.

Cette méthode n’est pas destinée à être utilisée directement.

create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, arguments=None)

Paramètres

execution_type
str
Obligatoire

Type d’exécution du module.

input_bindings
list
Obligatoire

Liaisons d’entrée de l’étape.

output_bindings
list
Obligatoire

Liaisons de sortie de l’étape.

param_defs
list
valeur par défaut: None

Définitions des paramètres de l’étape.

create_sequencing_ports
bool
valeur par défaut: True

Si la valeur est true, des ports de séquencement sont créés pour le module.

allow_reuse
bool
valeur par défaut: True

Si la valeur est true, le module peut être réutilisé dans de futurs pipelines.

version
str
valeur par défaut: None

Version du module.

arguments
list
valeur par défaut: None

Liste d’arguments annotés à utiliser au moment d’appeler ce module.

Retours

Objet de définition de module.

Type de retour

create_node

Créez un nœud pour PythonScriptStep et ajoutez-le au graphique spécifié.

Cette méthode n’est pas destinée à être utilisée directement. Lorsqu’un pipeline est instancié avec ParallelRunStep, Azure Machine Learning transmet automatiquement les paramètres requis via cette méthode afin que l’étape puisse être ajoutée à un graphe de pipeline qui représente le workflow.

create_node(graph, default_datastore, context)

Paramètres

graph
Graph
Obligatoire

Objet de graphique.

default_datastore
AbstractAzureStorageDatastore ou AzureDataLakeDatastore
Obligatoire

Magasin de données par défaut.

context
<xref:azureml.pipeline.core._GraphContext>
Obligatoire

Contexte.

Retours

Nœud créé.

Type de retour