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.ChainedIdentityScriptRunConfig
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
Name | Beschreibung |
---|---|
source_directory
Erforderlich
|
Ein lokales Verzeichnis mit Codedateien, die für eine Ausführung erforderlich sind. |
script
Erforderlich
|
Der Dateipfad relativ zum Quellverzeichnis (source_directory) des auszuführenden Skripts. |
arguments
Erforderlich
|
Optionale Befehlszeilenargumente, die an das Trainingsskript übergeben werden sollen. Argumente werden paarweise übergeben. Beispiel: ['--arg1', arg1_val, '--arg2', arg2_val]. |
run_config
Erforderlich
|
Optional zu verwendende Laufzeitkonfiguration. |
_telemetry_values
Erforderlich
|
Nur interne Verwendung. |
compute_target
Erforderlich
|
AbstractComputeTarget oder
str
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
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
Erforderlich
|
Für Aufträge, die zusätzliche verteilte, auftragsspezifische Konfigurationen erfordern. |
resume_from
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
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
Erforderlich
|
Für Aufträge, die spezifische Konfigurationen für die Docker-Runtime erfordern. |
source_directory
Erforderlich
|
Ein lokales Verzeichnis mit Codedateien, die für eine Ausführung erforderlich sind. |
script
Erforderlich
|
Der Dateipfad relativ zum Quellverzeichnis (source_directory) des auszuführenden Skripts. |
arguments
Erforderlich
|
Optionale Befehlszeilenargumente, die an das Trainingsskript übergeben werden sollen. Argumente werden paarweise übergeben. Beispiel: ['--arg1', arg1_val, '--arg2', arg2_val]. |
run_config
Erforderlich
|
Optional zu verwendende Laufzeitkonfiguration. |
_telemetry_values
Erforderlich
|
Nur interne Verwendung. |
compute_target
Erforderlich
|
AbstractComputeTarget oder
str
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
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
Erforderlich
|
Für Aufträge, die zusätzliche verteilte, auftragsspezifische Konfigurationen erfordern. |
resume_from
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. |
command
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
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