Partager via


ScriptRunConfig Classe

Représente les informations de configuration pour envoyer une exécution d’entraînement dans Azure Machine Learning.

Un ScriptRunConfig regroupe les informations de configuration nécessaires pour envoyer une exécution dans Azure ML, notamment le script, la cible de calcul, l’environnement et toutes les configurations spécifiques aux travaux distribués.

Une fois qu’une exécution de script est configurée et envoyée avec , submitun ScriptRun script est retourné.

Constructeur ScriptRunConfig de classe.

Constructeur

ScriptRunConfig(source_directory, script=None, arguments=None, run_config=None, _telemetry_values=None, compute_target=None, environment=None, distributed_job_config=None, resume_from=None, max_run_duration_seconds=2592000, command=None, docker_runtime_config=None)

Paramètres

Nom Description
source_directory
Obligatoire
str

Répertoire local contenant des fichiers de code nécessaires pour une exécution.

script
Obligatoire
str

Chemin d’accès du fichier relatif à la source_directory du script à exécuter.

arguments
Obligatoire
list ou str

Arguments de ligne de commande facultatifs à passer au script d’entraînement. Les arguments sont passés en paires, par exemple ['–arg1', arg1_val, '–arg2', arg2_val].

run_config
Obligatoire

Configuration d’exécution facultative à utiliser.

_telemetry_values
Obligatoire

Utilisation interne uniquement.

compute_target
Obligatoire

Cible de calcul où l’entraînement se produira. Il peut s’agir d’un objet ComputeTarget, du nom d’un ComputeTarget existant ou de la chaîne « local ». Si aucune cible de calcul n’est spécifiée, votre ordinateur local sera utilisé.

environment
Obligatoire

Environnement à utiliser pour l’exécution. Si aucun environnement n’est spécifié, azureml.core.runconfig.DEFAULT_CPU_IMAGE sera utilisé comme image Docker pour l’exécution.

distributed_job_config
Obligatoire

Pour les travaux nécessitant des configurations supplémentaires spécifiques aux travaux distribués.

resume_from
Obligatoire

DataPath contenant les fichiers de point de contrôle ou de modèle à partir desquels reprendre l’expérience.

max_run_duration_seconds
Obligatoire

Durée maximale autorisée pour l’exécution. Le système tente d’annuler automatiquement l’exécution s’il a fallu plus de temps que cette valeur. :type max_run_duration_seconds : int

command
Obligatoire
list[str] ou str

Commande à envoyer pour l’exécution. La propriété de commande peut également être utilisée au lieu de script/arguments. Les propriétés de commande et de script/argument ne peuvent pas être utilisées ensemble pour envoyer une exécution. Pour envoyer un fichier de script à l’aide de la propriété de commande - ['python', 'train.py', '–arg1', arg1_val] Pour exécuter une commande réelle - ['ls']

docker_runtime_config
Obligatoire

Pour les travaux qui nécessitent des configurations spécifiques au runtime Docker.

source_directory
Obligatoire
str

Répertoire local contenant des fichiers de code nécessaires pour une exécution.

script
Obligatoire
str

Chemin d’accès du fichier relatif à la source_directory du script à exécuter.

arguments
Obligatoire

Arguments de ligne de commande facultatifs à passer au script d’entraînement. Les arguments sont passés en paires, par exemple ['–arg1', arg1_val, '–arg2', arg2_val].

run_config
Obligatoire

Configuration d’exécution facultative à utiliser.

_telemetry_values
Obligatoire

Utilisation interne uniquement.

compute_target
Obligatoire

Cible de calcul où l’entraînement se produira. Il peut s’agir d’un objet ComputeTarget, du nom d’un ComputeTarget existant ou de la chaîne « local ». Si aucune cible de calcul n’est spécifiée, votre ordinateur local sera utilisé.

environment
Obligatoire

Environnement à utiliser pour l’exécution. Si aucun environnement n’est spécifié, azureml.core.runconfig.DEFAULT_CPU_IMAGE sera utilisé comme image Docker pour l’exécution.

distributed_job_config
Obligatoire

Pour les travaux nécessitant des configurations supplémentaires spécifiques aux travaux distribués.

resume_from
Obligatoire

DataPath contenant les fichiers de point de contrôle ou de modèle à partir desquels reprendre l’expérience.

max_run_duration_seconds
Obligatoire
int

Durée maximale autorisée pour l’exécution. Le système tente d’annuler automatiquement l’exécution s’il a fallu plus de temps que cette valeur.

command
Obligatoire
list[str] ou str

Commande à envoyer pour l’exécution. La propriété de commande peut également être utilisée au lieu de script/arguments. Les propriétés de commande et de script/argument ne peuvent pas être utilisées ensemble pour envoyer une exécution. Pour envoyer un fichier de script à l’aide de la propriété de commande - ['python', 'train.py', '–arg1', arg1_val] Pour exécuter une commande réelle - ['ls']

docker_runtime_config
Obligatoire

Pour les travaux qui nécessitent des configurations spécifiques au runtime Docker.

Remarques

Le Kit de développement logiciel (SDK) Azure Machine Learning vous fournit une série de classes interconnectées, conçues pour vous aider à entraîner et comparer des modèles Machine Learning liés par le problème partagé qu’ils résolvent.

Il Experiment agit en tant que conteneur logique pour ces exécutions d’entraînement. Un objet ScriptRunConfig est utilisé pour configurer les informations nécessaires à l’envoi d’une exécution d’entraînement dans le cadre d’une expérience. Lorsqu’une exécution est envoyée à l’aide d’un objet ScriptRunConfig, la méthode d’envoi retourne un objet de type ScriptRun. Ensuite, l’objet ScriptRun retourné vous donne un accès programmatique aux informations sur l’exécution d’entraînement. ScriptRun est une classe enfant de Run.

Le concept clé à retenir est qu’il existe différents objets de configuration utilisés pour soumettre une expérience, en fonction du type d’exécution que vous souhaitez déclencher. Le type de l’objet de configuration informe ensuite la classe enfant de Run que vous récupérez à partir de la méthode d’envoi. Lorsque vous passez un objet ScriptRunConfig dans un appel à la méthode d’envoi d’Experiment, vous récupérez un objet ScriptRun. Voici quelques exemples d’autres objets d’exécution retournés ( AutoMLRun retournés pour une exécution AutoML) et PipelineRun (retourné pour une exécution de pipeline).

L’exemple suivant montre comment envoyer un script d’entraînement sur votre ordinateur local.


   from azureml.core import ScriptRunConfig, Experiment

   # create or load an experiment
   experiment = Experiment(workspace, 'MyExperiment')
   # create or retrieve a compute target
   cluster = workspace.compute_targets['MyCluster']
   # create or retrieve an environment
   env = Environment.get(ws, name='MyEnvironment')
   # configure and submit your training run
   config = ScriptRunConfig(source_directory='.',
                            script='train.py',
                            arguments=['--arg1', arg1_val, '--arg2', arg2_val],
                            compute_target=cluster,
                            environment=env)
   script_run = experiment.submit(config)

L’exemple suivant montre comment envoyer un script d’entraînement sur votre cluster à l’aide de la propriété de commande au lieu de script et d’arguments.


   from azureml.core import ScriptRunConfig, Experiment
   # create or load an experiment
   experiment = Experiment(workspace, 'MyExperiment')
   # create or retrieve a compute target
   cluster = workspace.compute_targets['MyCluster']
   # create or retrieve an environment
   env = Environment.get(ws, name='MyEnvironment')
   # configure and submit your training run
   config = ScriptRunConfig(source_directory='.',
                            command=['python', 'train.py', '--arg1', arg1_val],
                            compute_target=cluster,
                            environment=env)
   script_run = experiment.submit(config)

L’exemple suivant montre comment exécuter une commande sur votre cluster.


   from azureml.core import ScriptRunConfig, Experiment
   # create or load an experiment
   experiment = Experiment(workspace, 'MyExperiment')
   # create or retrieve a compute target
   cluster = workspace.compute_targets['MyCluster']
   # create or retrieve an environment
   env = Environment.get(ws, name='MyEnvironment')
   # configure and submit your training run
   config = ScriptRunConfig(source_directory='.',
                            command=['ls', '-l'],
                            compute_target=cluster,
                            environment=env)
   script_run = experiment.submit(config)

Pour plus d’exemples montrant comment utiliser ScriptRunConfig, consultez :

Attributs

MAX_DURATION_SECONDS_DEFAULT

MAX_DURATION_SECONDS_DEFAULT = 2592000