Condividi tramite


ScriptRunConfig Classe

Rappresenta le informazioni di configurazione per l'invio di un'esecuzione di training in Azure Machine Learning.

Un pacchetto ScriptRunConfig include le informazioni di configurazione necessarie per inviare un'esecuzione in Azure ML, tra cui lo script, la destinazione di calcolo, l'ambiente e le configurazioni specifiche del processo distribuite.

Dopo aver configurato e inviato un'esecuzione di script con submit, viene restituito un oggetto ScriptRun .

Costruttore ScriptRunConfig della classe.

Ereditarietà
azureml._logging.chained_identity.ChainedIdentity
ScriptRunConfig

Costruttore

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)

Parametri

Nome Descrizione
source_directory
Necessario
str

Directory locale contenente i file di codice necessari per un'esecuzione.

script
Necessario
str

Percorso del file relativo alla source_directory dello script da eseguire.

arguments
Necessario
list oppure str

Argomenti della riga di comando facoltativi da passare allo script di training. Gli argomenti vengono passati in coppie, ad esempio ['-arg1', arg1_val, '-arg2', arg2_val].

run_config
Necessario

Configurazione di esecuzione facoltativa da usare.

_telemetry_values
Necessario

Solo per uso interno.

compute_target
Necessario

Destinazione di calcolo in cui si verificherà il training. Può essere un oggetto ComputeTarget, il nome di un computeTarget esistente o la stringa "local". Se non viene specificata alcuna destinazione di calcolo, verrà usato il computer locale.

environment
Necessario

Ambiente da usare per l'esecuzione. Se non viene specificato alcun ambiente, azureml.core.runconfig.DEFAULT_CPU_IMAGE verrà usato come immagine Docker per l'esecuzione.

distributed_job_config
Necessario

Per i processi che richiedono configurazioni specifiche del processo distribuite aggiuntive.

resume_from
Necessario

DataPath contenente i file di checkpoint o modello da cui riprendere l'esperimento.

max_run_duration_seconds
Necessario

Tempo massimo consentito per l'esecuzione. Il sistema tenterà di annullare automaticamente l'esecuzione se è necessario più tempo di questo valore. :type max_run_duration_seconds: int

command
Necessario
list[str] oppure str

Comando da inviare per l'esecuzione. La proprietà del comando può essere usata anche invece di script/argomenti. Non è possibile usare insieme le proprietà di comando e script/argomento per inviare un'esecuzione. Per inviare un file di script usando la proprietà del comando - ['python', 'train.py', '-arg1', arg1_val] Per eseguire un comando effettivo - ['ls']

docker_runtime_config
Necessario

Per i processi che richiedono configurazioni specifiche del runtime Docker.

source_directory
Necessario
str

Directory locale contenente i file di codice necessari per un'esecuzione.

script
Necessario
str

Percorso del file relativo alla source_directory dello script da eseguire.

arguments
Necessario

Argomenti della riga di comando facoltativi da passare allo script di training. Gli argomenti vengono passati in coppie, ad esempio ['-arg1', arg1_val, '-arg2', arg2_val].

run_config
Necessario

Configurazione di esecuzione facoltativa da usare.

_telemetry_values
Necessario

Solo per uso interno.

compute_target
Necessario

Destinazione di calcolo in cui si verificherà il training. Può essere un oggetto ComputeTarget, il nome di un computeTarget esistente o la stringa "local". Se non viene specificata alcuna destinazione di calcolo, verrà usato il computer locale.

environment
Necessario

Ambiente da usare per l'esecuzione. Se non viene specificato alcun ambiente, azureml.core.runconfig.DEFAULT_CPU_IMAGE verrà usato come immagine Docker per l'esecuzione.

distributed_job_config
Necessario

Per i processi che richiedono configurazioni specifiche del processo distribuite aggiuntive.

resume_from
Necessario

DataPath contenente i file di checkpoint o modello da cui riprendere l'esperimento.

max_run_duration_seconds
Necessario
int

Tempo massimo consentito per l'esecuzione. Il sistema tenterà di annullare automaticamente l'esecuzione se è necessario più tempo di questo valore.

command
Necessario
list[str] oppure str

Comando da inviare per l'esecuzione. La proprietà del comando può essere usata anche invece di script/argomenti. Non è possibile usare insieme le proprietà di comando e script/argomento per inviare un'esecuzione. Per inviare un file di script usando la proprietà del comando - ['python', 'train.py', '-arg1', arg1_val] Per eseguire un comando effettivo - ['ls']

docker_runtime_config
Necessario

Per i processi che richiedono configurazioni specifiche del runtime Docker.

Commenti

Azure Machine Learning SDK offre una serie di classi interconnesse, progettate per consentire di eseguire il training e confrontare i modelli di Machine Learning correlati al problema condiviso che stanno risolvendo.

Un Experiment oggetto funge da contenitore logico per queste esecuzioni di training. Un oggetto ScriptRunConfig viene usato per configurare le informazioni necessarie per l'invio di un'esecuzione di training come parte di un esperimento. Quando viene inviata un'esecuzione usando un oggetto ScriptRunConfig, il metodo submit restituisce un oggetto di tipo ScriptRun. L'oggetto ScriptRun restituito offre quindi l'accesso a livello di codice alle informazioni sull'esecuzione del training. ScriptRun è una classe figlio di Run.

Il concetto chiave da ricordare è che sono presenti diversi oggetti di configurazione usati per inviare un esperimento, in base al tipo di esecuzione che si vuole attivare. Il tipo dell'oggetto di configurazione informa quindi la classe figlio di Run restituita dal metodo submit. Quando si passa un oggetto ScriptRunConfig in una chiamata al metodo submit di Experiment, viene restituito un oggetto ScriptRun. Esempi di altri oggetti di esecuzione restituiti includono AutoMLRun (restituiti per un'esecuzione AutoML) e PipelineRun (restituiti per un'esecuzione della pipeline).

Nell'esempio seguente viene illustrato come inviare uno script di training nel computer locale.


   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)

Nell'esempio seguente viene illustrato come inviare uno script di training nel cluster usando la proprietà del comando anziché gli argomenti e gli script.


   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)

Nell'esempio seguente viene illustrato come eseguire un comando nel 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)

Per altri esempi che illustrano come usare ScriptRunConfig, vedere:

Attributi

MAX_DURATION_SECONDS_DEFAULT

MAX_DURATION_SECONDS_DEFAULT = 2592000