다음을 통해 공유


ScriptRunConfig 클래스

Azure Machine Learning에서 학습 실행을 제출하기 위한 구성 정보를 나타냅니다.

ScriptRunConfig는 스크립트, 컴퓨팅 대상, 환경 및 모든 분산 작업별 구성을 포함하여 Azure ML에서 실행을 제출하는 데 필요한 구성 정보를 함께 패키지합니다.

스크립트 실행이 구성되고 submit으로 제출되면 ScriptRun이 반환됩니다.

클래스 ScriptRunConfig 생성자입니다.

상속
azureml._logging.chained_identity.ChainedIdentity
ScriptRunConfig

생성자

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)

매개 변수

Name Description
source_directory
필수
str

실행에 필요한 코드 파일이 포함된 로컬 디렉터리입니다.

script
필수
str

실행할 스크립트의 source_directory에 상대적인 파일 경로입니다.

arguments
필수
list 또는 str

학습 스크립트에 전달할 선택적 명령줄 인수입니다. 인수는 쌍으로 전달됩니다(예: ['–arg1', arg1_val, '–arg2', arg2_val]).

run_config
필수

사용할 선택적 실행 구성입니다.

_telemetry_values
필수

내부 전용입니다.

compute_target
필수

학습이 수행될 컴퓨팅 대상입니다. 이는 ComputeTarget 개체, 기존 ComputeTarget의 이름 또는 "local" 문자열일 수 있습니다. 컴퓨팅 대상을 지정하지 않으면 로컬 컴퓨터가 사용됩니다.

environment
필수

작업에 사용할 환경입니다. 환경을 지정하지 않으면 azureml.core.runconfig.DEFAULT_CPU_IMAGE가 실행을 위한 Docker 이미지로 사용됩니다.

distributed_job_config
필수

추가 분산 작업별 구성이 필요한 작업의 경우.

resume_from
필수

실험을 다시 시작할 검사점 또는 모델 파일이 포함된 DataPath입니다.

max_run_duration_seconds
필수

실행에 허용된 최대 시간입니다. 이 값보다 오래 걸리면 시스템이 자동으로 실행을 취소하려고 시도합니다. :type max_run_duration_seconds: int

command
필수
list[str] 또는 str

실행을 위해 제출할 명령입니다. 스크립트/인수 대신 명령 속성을 사용할 수도 있습니다. 명령 및 스크립트/인수 속성을 함께 사용하여 실행을 제출할 수 없습니다. 명령 속성을 사용하여 스크립트 파일을 제출하려면 - ['python', 'train.py', '–arg1', arg1_val] 실제 명령을 실행하려면 - ['ls']

docker_runtime_config
필수

Docker 런타임별 구성이 필요한 작업의 경우.

source_directory
필수
str

실행에 필요한 코드 파일이 포함된 로컬 디렉터리입니다.

script
필수
str

실행할 스크립트의 source_directory에 상대적인 파일 경로입니다.

arguments
필수

학습 스크립트에 전달할 선택적 명령줄 인수입니다. 인수는 쌍으로 전달됩니다(예: ['–arg1', arg1_val, '–arg2', arg2_val]).

run_config
필수

사용할 선택적 실행 구성입니다.

_telemetry_values
필수

내부 전용입니다.

compute_target
필수

학습이 수행될 컴퓨팅 대상입니다. 이는 ComputeTarget 개체, 기존 ComputeTarget의 이름 또는 "local" 문자열일 수 있습니다. 컴퓨팅 대상을 지정하지 않으면 로컬 컴퓨터가 사용됩니다.

environment
필수

작업에 사용할 환경입니다. 환경을 지정하지 않으면 azureml.core.runconfig.DEFAULT_CPU_IMAGE가 실행을 위한 Docker 이미지로 사용됩니다.

distributed_job_config
필수

추가 분산 작업별 구성이 필요한 작업의 경우.

resume_from
필수

실험을 다시 시작할 검사점 또는 모델 파일이 포함된 DataPath입니다.

max_run_duration_seconds
필수
int

실행에 허용된 최대 시간입니다. 이 값보다 오래 걸리면 시스템이 자동으로 실행을 취소하려고 시도합니다.

command
필수
list[str] 또는 str

실행을 위해 제출할 명령입니다. 스크립트/인수 대신 명령 속성을 사용할 수도 있습니다. 명령 및 스크립트/인수 속성을 함께 사용하여 실행을 제출할 수 없습니다. 명령 속성을 사용하여 스크립트 파일을 제출하려면 - ['python', 'train.py', '–arg1', arg1_val] 실제 명령을 실행하려면 - ['ls']

docker_runtime_config
필수

Docker 런타임별 구성이 필요한 작업의 경우.

설명

Azure Machine Learning SDK는 해결하려는 공유 문제와 관련된 Machine Learning 모델을 학습하고 비교하는 데 도움이 되도록 설계된 일련의 상호 연결된 클래스를 제공합니다.

Experiment는 이러한 학습 실행에 대한 논리적 컨테이너 역할을 합니다. ScriptRunConfig 개체는 실험의 일환으로 학습 실행을 제출하는 데 필요한 정보를 구성하는 데 사용됩니다. ScriptRunConfig 개체를 사용하여 실행을 제출하면 제출 메서드가 ScriptRun 형식의 개체를 반환합니다. 그런 다음 반환된 ScriptRun 개체를 통해 학습 실행에 대한 정보에 프로그래밍 방식으로 액세스할 수 있습니다. ScriptRun은 Run의 자식 클래스입니다.

기억해야 할 핵심 개념은 트리거하려는 실행의 종류에 따라 실험을 제출하는 데 사용되는 다양한 구성 개체가 있다는 것입니다. 그런 다음 구성 개체의 형식은 제출 메서드에서 반환되는 Run의 자식 클래스를 알려줍니다. Experiment의 submit 메서드에 대한 호출에서 ScriptRunConfig 개체를 전달하면 ScriptRun 개체가 반환됩니다. 반환되는 다른 실행 개체의 예로는 AutoMLRun(AutoML 실행에 대해 반환됨) 및 PipelineRun(파이프라인 실행에 대해 반환됨)가 있습니다.

다음 샘플은 로컬 컴퓨터에서 학습 스크립트를 제출하는 방법을 보여 줍니다.


   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)

다음 예에서는 스크립트 및 인수 대신 명령 속성을 사용하여 클러스터에서 학습 스크립트를 제출하는 방법을 보여 줍니다.


   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)

다음 샘플에서는 클러스터에서 명령을 실행하는 방법을 보여 줍니다.


   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)

ScriptRunConfig로 작업하는 방법을 보여 주는 추가 예제는 다음을 참조하세요.

특성

MAX_DURATION_SECONDS_DEFAULT

MAX_DURATION_SECONDS_DEFAULT = 2592000