ScriptRunConfig Klasse

Stellt Konfigurationsinformationen zum Übermitteln einer Trainingsausführung in Azure Machine Learning dar.

Eine Skriptausführungskonfiguration (ScriptRunConfig) enthält die Konfigurationsinformationen, die zum Übermitteln einer Ausführung in Azure ML erforderlich sind, einschließlich des Skripts, des Computeziels, der Umgebung und verteilter, auftragsspezifischer Konfigurationen.

Wenn eine Skriptausführung konfiguriert und mit submit übermittelt wurde, wird eine Skriptausführung (ScriptRun) zurückgegeben.

Class ScriptRunConfig-Konstruktor.

Vererbung
azureml._logging.chained_identity.ChainedIdentity
ScriptRunConfig

Konstruktor

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)

Parameter

source_directory
str
Erforderlich

Ein lokales Verzeichnis mit Codedateien, die für eine Ausführung erforderlich sind.

script
str
Erforderlich

Der Dateipfad relativ zum Quellverzeichnis (source_directory) des auszuführenden Skripts.

arguments
list oder str
Erforderlich

Optionale Befehlszeilenargumente, die an das Trainingsskript übergeben werden sollen. Argumente werden paarweise übergeben. Beispiel: ['--arg1', arg1_val, '--arg2', arg2_val].

run_config
RunConfiguration
Erforderlich

Optional zu verwendende Laufzeitkonfiguration.

_telemetry_values
dict
Erforderlich

Nur interne Verwendung.

compute_target
AbstractComputeTarget oder str
Erforderlich

Das Computeziel für das Training. Dabei kann es sich entweder um ein ComputeTarget-Objekt, um den Namen eines vorhandenen ComputeTarget-Objekts oder um die Zeichenfolge „local“ handeln. Wenn kein Computeziel angegeben ist, wird Ihr lokaler Computer verwendet.

environment
Environment
Erforderlich

Die Umgebung, die für die Ausführung verwendet werden soll. Wenn keine Umgebung angegeben ist, wird „azureml.core.runconfig.DEFAULT_CPU_IMAGE“ als Docker-Image für die Ausführung verwendet.

distributed_job_config
TensorflowConfiguration, MpiConfiguration oder PyTorchConfiguration
Erforderlich

Für Aufträge, die zusätzliche verteilte, auftragsspezifische Konfigurationen erfordern.

resume_from
DataPath
Erforderlich

Der Datenpfad (DataPath), der die Prüfpunkt- oder Modelldateien enthält, von denen aus das Experiment fortgesetzt werden soll.

max_run_duration_seconds
Erforderlich

Die maximal zulässige Zeit für die Ausführung. Das System versucht, die Ausführung automatisch abzubrechen, wenn dieser Wert überschritten wurde. :type max_run_duration_seconds: int

command
list[str] oder str
Erforderlich

Der Befehl, der für die Ausführung übermittelt werden soll. Die Befehlseigenschaft kann auch anstelle von Skripts/Argumenten verwendet werden. Die Befehls- und die Skript-/Argumenteigenschaften können nicht zusammen verwendet werden, um eine Ausführung zu übermitteln. So übermitteln Sie eine Skriptdatei mithilfe der Befehlseigenschaft: ['python', 'train.py', '-arg1', arg1_val]. So führen Sie einen Befehl aus: ['ls'].

docker_runtime_config
DockerConfiguration
Erforderlich

Für Aufträge, die spezifische Konfigurationen für die Docker-Runtime erfordern.

source_directory
str
Erforderlich

Ein lokales Verzeichnis mit Codedateien, die für eine Ausführung erforderlich sind.

script
str
Erforderlich

Der Dateipfad relativ zum Quellverzeichnis (source_directory) des auszuführenden Skripts.

arguments
list[str]
Erforderlich

Optionale Befehlszeilenargumente, die an das Trainingsskript übergeben werden sollen. Argumente werden paarweise übergeben. Beispiel: ['--arg1', arg1_val, '--arg2', arg2_val].

run_config
RunConfiguration
Erforderlich

Optional zu verwendende Laufzeitkonfiguration.

_telemetry_values
dict
Erforderlich

Nur interne Verwendung.

compute_target
AbstractComputeTarget oder str
Erforderlich

Das Computeziel für das Training. Dabei kann es sich entweder um ein ComputeTarget-Objekt, um den Namen eines vorhandenen ComputeTarget-Objekts oder um die Zeichenfolge „local“ handeln. Wenn kein Computeziel angegeben ist, wird Ihr lokaler Computer verwendet.

environment
Environment
Erforderlich

Die Umgebung, die für die Ausführung verwendet werden soll. Wenn keine Umgebung angegeben ist, wird „azureml.core.runconfig.DEFAULT_CPU_IMAGE“ als Docker-Image für die Ausführung verwendet.

distributed_job_config
TensorflowConfiguration oder MpiConfiguration oder PyTorchConfiguration
Erforderlich

Für Aufträge, die zusätzliche verteilte, auftragsspezifische Konfigurationen erfordern.

resume_from
DataPath
Erforderlich

Der Datenpfad (DataPath), der die Prüfpunkt- oder Modelldateien enthält, von denen aus das Experiment fortgesetzt werden soll.

max_run_duration_seconds
int
Erforderlich

Die maximal zulässige Zeit für die Ausführung. Das System versucht, die Ausführung automatisch abzubrechen, wenn dieser Wert überschritten wurde.

command
list[str] oder str
Erforderlich

Der Befehl, der für die Ausführung übermittelt werden soll. Die Befehlseigenschaft kann auch anstelle von Skripts/Argumenten verwendet werden. Die Befehls- und die Skript-/Argumenteigenschaften können nicht zusammen verwendet werden, um eine Ausführung zu übermitteln. So übermitteln Sie eine Skriptdatei mithilfe der Befehlseigenschaft: ['python', 'train.py', '-arg1', arg1_val]. So führen Sie einen Befehl aus: ['ls'].

docker_runtime_config
DockerConfiguration
Erforderlich

Für Aufträge, die spezifische Konfigurationen für die Docker-Runtime erfordern.

Hinweise

Das Azure Machine Learning SDK bietet eine Reihe zusammengehörender Klassen, die Sie beim Trainieren und Vergleichen von Machine Learning-Modellen unterstützen. Dabei handelt es sich um Modelle, die ein gemeinsames Problem lösen.

Ein Experiment fungiert als logischer Container für diese Trainingsausführungen. Ein ScriptRunConfig-Objekt wird zum Konfigurieren der Informationen verwendet, die zum Übermitteln einer Trainingsausführung im Rahmen eines Experiments benötigt werden. Wenn eine Ausführung mithilfe eines ScriptRunConfig-Objekts übermittelt wird, gibt die Übermittlungsmethode ein Objekt vom Typ ScriptRun zurück. Das zurückgegebene ScriptRun-Objekt ermöglicht den programmgesteuerten Zugriff auf Informationen zur Trainingsausführung. ScriptRun ist eine untergeordnete Klasse von Run.

Das entscheidende Konzept sind die verschiedenen Konfigurationsobjekte, die je nach gewünschter Ausführungsart zum Übermitteln eines Experiments verwendet werden. Der Typ des Konfigurationsobjekts ist ausschlaggebend dafür, welche untergeordnete Klasse von „Run“ die Übermittlungsmethode zurückgibt. Wenn Sie ein ScriptRunConfig-Objekt in einem Aufruf an die Übermittlungsmethode von „Experiment“ übergeben, erhalten Sie ein ScriptRun-Objekt zurück. Beispiele für andere zurückgegebene Ausführungsobjekte sind AutoMLRun (für eine AutoML-Ausführung) und PipelineRun (für eine Pipelineausführung).

Das folgende Beispiel zeigt, wie Sie ein Trainingsskript auf Ihrem lokalen Computer übermitteln:


   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)

Das folgende Beispiel zeigt, wie Sie ein Trainingsskript in Ihrem Cluster unter Verwendung der Befehlseigenschaft anstelle von Skript und Argumenten übermitteln:


   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)

Das folgende Beispiel zeigt, wie Sie einen Befehl in Ihrem Cluster ausführen:


   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)

Weitere Beispiele für die Verwendung von ScriptRunConfig finden Sie hier:

Attribute

MAX_DURATION_SECONDS_DEFAULT

MAX_DURATION_SECONDS_DEFAULT = 2592000