Condividi tramite


ScriptRunConfig Classe

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

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

Dopo la configurazione e l'invio submitdi un'esecuzione di script con , viene restituito un oggetto ScriptRun .

Costruttore Class ScriptRunConfig.

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 al 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 verrà eseguito il training. Può trattarsi di un oggetto ComputeTarget, del nome di un computeTarget esistente o della 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 aggiuntive specifiche del processo distribuito.

resume_from
Necessario

DataPath contenente i file del checkpoint o del 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 al 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 verrà eseguito il training. Può trattarsi di un oggetto ComputeTarget, del nome di un computeTarget esistente o della 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 aggiuntive specifiche del processo distribuito.

resume_from
Necessario

DataPath contenente i file del checkpoint o del 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 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 un'esecuzione viene inviata tramite un oggetto ScriptRunConfig, il metodo submit restituisce un oggetto di tipo ScriptRun. L'oggetto ScriptRun restituito consente 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 esistono 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 dell'esperimento, viene restituito un oggetto ScriptRun. Esempi di altri oggetti run restituiti includono AutoMLRun (restituiti per un'esecuzione autoML) e PipelineRun (restituiti per un'esecuzione della pipeline).

L'esempio seguente illustra 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é script e argomenti.


   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'esempio seguente illustra 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