Freigeben über


ScriptRunConfig Klasse

Stellt Konfigurationsinformationen zum Übermitteln einer Schulung in Azure Machine Learning dar.

Ein ScriptRunConfig packt die Konfigurationsinformationen zusammen, die zum Übermitteln einer Ausführung in Azure ML erforderlich sind, einschließlich des Skripts, des Computeziels, der Umgebung und aller verteilten auftragsspezifischen Konfigurationen.

Sobald ein Skript ausgeführt und mit dem submitSkript übermittelt wurde, wird eine ScriptRun zurückgegeben.

Class ScriptRunConfig-Konstruktor.

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
str

Ein lokales Verzeichnis, das Codedateien enthält, die für eine Ausführung erforderlich sind.

script
Erforderlich
str

Der Dateipfad relativ zum source_directory des auszuführenden Skripts.

arguments
Erforderlich
list oder str

Optionale Befehlszeilenargumente, die an das Schulungsskript übergeben werden sollen. Argumente werden in Paaren übergeben, z. B. ['–arg1', arg1_val, '–arg2', arg2_val].

run_config
Erforderlich

Optionale Ausführungskonfiguration, die verwendet werden soll.

_telemetry_values
Erforderlich

Nur zur internen Verwendung.

compute_target
Erforderlich

Das Computeziel, in dem die Schulung stattfinden wird. Hierbei kann es sich entweder um ein ComputeTarget-Objekt, 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 DataPath mit den Prüfpunkt- oder Modelldateien, aus denen 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 länger dauerte. :type max_run_duration_seconds: int

command
Erforderlich
list[str] oder str

Der Befehl, der für die Ausführung übermittelt werden soll. Die Befehlseigenschaft kann auch anstelle von Skripts/Argumenten verwendet werden. Sowohl Befehls- als auch 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 tatsächlichen Befehl aus – ['ls']

docker_runtime_config
Erforderlich

Für Aufträge, die Docker-laufzeitspezifische Konfigurationen erfordern.

source_directory
Erforderlich
str

Ein lokales Verzeichnis, das Codedateien enthält, die für eine Ausführung erforderlich sind.

script
Erforderlich
str

Der Dateipfad relativ zum source_directory des auszuführenden Skripts.

arguments
Erforderlich

Optionale Befehlszeilenargumente, die an das Schulungsskript übergeben werden sollen. Argumente werden in Paaren übergeben, z. B. ['–arg1', arg1_val, '–arg2', arg2_val].

run_config
Erforderlich

Optionale Ausführungskonfiguration, die verwendet werden soll.

_telemetry_values
Erforderlich

Nur zur internen Verwendung.

compute_target
Erforderlich

Das Computeziel, in dem die Schulung stattfinden wird. Hierbei kann es sich entweder um ein ComputeTarget-Objekt, 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 DataPath mit den Prüfpunkt- oder Modelldateien, aus denen das Experiment fortgesetzt werden soll.

max_run_duration_seconds
Erforderlich
int

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

command
Erforderlich
list[str] oder str

Der Befehl, der für die Ausführung übermittelt werden soll. Die Befehlseigenschaft kann auch anstelle von Skripts/Argumenten verwendet werden. Sowohl Befehls- als auch 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 tatsächlichen Befehl aus – ['ls']

docker_runtime_config
Erforderlich

Für Aufträge, die Docker-laufzeitspezifische Konfigurationen erfordern.

Hinweise

Das Azure Machine Learning SDK bietet Ihnen eine Reihe miteinander verbundener Klassen, die Ihnen dabei helfen sollen, Machine Learning-Modelle zu trainieren und zu vergleichen, die mit dem freigegebenen Problem zusammenhängen, das sie lösen.

Ein Experiment Dient als logischer Container für diese Schulungsläufe. Ein ScriptRunConfig -Objekt wird verwendet, um die informationen zu konfigurieren, die zum Übermitteln einer Schulungsausführung als Teil eines Experiments erforderlich sind. Wenn eine Ausführung mit einem ScriptRunConfig-Objekt übermittelt wird, gibt die Submit-Methode ein Objekt vom Typ ScriptRunzurück. Anschließend gibt Ihnen das zurückgegebene ScriptRun-Objekt programmgesteuerten Zugriff auf Informationen zur Schulungsausführung. ScriptRun ist eine untergeordnete Klasse von Run.

Das Wichtigste zu beachten ist, dass es verschiedene Konfigurationsobjekte gibt, die zum Übermitteln eines Experiments verwendet werden, basierend auf der Art der Ausführung, die Sie auslösen möchten. Der Typ des Konfigurationsobjekts informiert dann, welche untergeordnete Klasse von Run Sie von der Submit-Methode zurück erhalten. Wenn Sie ein ScriptRunConfig-Objekt in einem Aufruf der Submit-Methode 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 zurückgegeben) und PipelineRun (für eine Pipelineausführung zurückgegeben).

Das folgende Beispiel zeigt, wie Sie ein Schulungsskript 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 mithilfe der Befehlseigenschaft anstelle von Skript und Argumenten ein Schulungsskript auf Ihrem Cluster ü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 auf 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 zum Arbeiten mit ScriptRunConfig finden Sie unter:

Attribute

MAX_DURATION_SECONDS_DEFAULT

MAX_DURATION_SECONDS_DEFAULT = 2592000