ScriptRunConfig Classe

Représente les informations de configuration pour la soumission d’une exécution d’apprentissage dans Azure Machine Learning.

Un ScriptRunConfig regroupe les informations de configuration nécessaires pour soumettre une exécution dans Azure ML, y compris le script, la cible de calcul, l’environnement et toutes les configurations spécifiques à un travail distribué.

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

Constructeur ScriptRunConfig de classe.

Héritage
azureml._logging.chained_identity.ChainedIdentity
ScriptRunConfig

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

source_directory
str
Obligatoire

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

script
str
Obligatoire

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

arguments
list ou str
Obligatoire

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

run_config
RunConfiguration
Obligatoire

Configuration de série de tests facultative à utiliser.

_telemetry_values
dict
Obligatoire

À usage interne uniquement

compute_target
AbstractComputeTarget ou str
Obligatoire

Cible de calcul où la formation 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 est utilisé.

environment
Environment
Obligatoire

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

distributed_job_config
TensorflowConfiguration, MpiConfiguration ou PyTorchConfiguration
Obligatoire

Pour les tâches qui nécessitent des configurations supplémentaires spécifiques aux travaux distribués.

resume_from
DataPath
Obligatoire

Chemin d’accès aux données 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 si elle prend plus de temps que cette valeur. :type max_run_duration_seconds: int

command
list[str] ou str
Obligatoire

Commande à envoyer pour l’exécution. La propriété Command peut également être utilisée à la place de script/arguments. Les propriétés Command et 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é Command-['Python', 'train.py', ' – Arg1 ', arg1_val] pour exécuter une commande réelle-['ls']

docker_runtime_config
DockerConfiguration
Obligatoire

Pour les tâches qui requièrent des configurations spécifiques au runtime d’amarrage.

source_directory
str
Obligatoire

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

script
str
Obligatoire

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

arguments
list[str]
Obligatoire

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

run_config
RunConfiguration
Obligatoire

Configuration de série de tests facultative à utiliser.

_telemetry_values
dict
Obligatoire

À usage interne uniquement

compute_target
AbstractComputeTarget ou str
Obligatoire

Cible de calcul où la formation 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 est utilisé.

environment
Environment
Obligatoire

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

distributed_job_config
TensorflowConfiguration ou MpiConfiguration ou PyTorchConfiguration
Obligatoire

Pour les tâches qui nécessitent des configurations supplémentaires spécifiques aux travaux distribués.

resume_from
DataPath
Obligatoire

Chemin d’accès aux données contenant les fichiers de point de contrôle ou de modèle à partir desquels reprendre l’expérience.

max_run_duration_seconds
int
Obligatoire

Durée maximale autorisée pour l’exécution. Le système tente d’annuler automatiquement l’exécution si elle prend plus de temps que cette valeur.

command
list[str] ou str
Obligatoire

Commande à envoyer pour l’exécution. La propriété Command peut également être utilisée à la place de script/arguments. Les propriétés Command et 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é Command-['Python', 'train.py', ' – Arg1 ', arg1_val] pour exécuter une commande réelle-['ls']

docker_runtime_config
DockerConfiguration
Obligatoire

Pour les tâches qui requièrent des configurations spécifiques au runtime d’amarrage.

Remarques

Le kit SDK Azure Machine Learning vous fournit une série de classes interconnectées, conçues pour vous aider à effectuer l’apprentissage des modèles Machine Learning destinés à résoudre le même problème, et à les comparer.

Un Experiment agit comme un conteneur logique pour ces exécutions d’apprentissage. Un objet ScriptRunConfig sert à configurer les informations nécessaires pour soumettre une exécution d’apprentissage dans le cadre d’une expérience. Quand une exécution d’apprentissage est soumise à l’aide d’un objet ScriptRunConfig, la méthode submit renvoie un objet de type ScriptRun. L’objet ScriptRun renvoyé vous donne un accès programmatique aux informations sur l’exécution d’apprentissage. ScriptRun est une classe enfant de Run.

Le concept essentiel à retenir est qu’il existe différents objets de configuration qui sont utilisés pour envoyer 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 l’exécution que vous récupérez de la méthode submit. Quand vous transmettez un objet ScriptRunConfig dans un appel à la méthode submit de l’expérience, vous récupérez un objet ScriptRun. Les exemples d’autres objets d’exécution renvoyés incluent AutoMLRun (renvoyés pour une exécution AutoML) et PipelineRun (renvoyés 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é Command au lieu de Script et 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 obtenir plus d’exemples illustrant l’utilisation de ScriptRunConfig, consultez :

Attributs

MAX_DURATION_SECONDS_DEFAULT

MAX_DURATION_SECONDS_DEFAULT = 2592000