RunConfiguration 클래스
Azure Machine Learning에서 다양한 컴퓨팅 대상을 대상으로 하는 실험 실행에 대한 구성을 나타냅니다.
RunConfiguration 개체는 실험에서 학습 실행을 제출하는 데 필요한 정보를 캡슐화합니다. 일반적으로 RunConfiguration 개체를 직접 만들지 않고 클래스의 submit 메서드와 같이 Experiment 반환하는 메서드에서 가져옵니다.
RunConfiguration은 트리거하는 실행의 종류에 따라 다른 유형의 구성 단계에서도 사용되는 기본 환경 구성입니다. 예를 들어 설정할 PythonScriptStep때 단계의 RunConfiguration 개체에 액세스하고 Conda 종속성을 구성하거나 실행에 대한 환경 속성에 액세스할 수 있습니다.
실행 구성의 예는 컴퓨팅 대상 선택 및 사용을 참조하여 모델을 학습시킵니다.
기본 설정을 사용하여 RunConfiguration을 초기화합니다.
생성자
RunConfiguration(script=None, arguments=None, framework=None, communicator=None, conda_dependencies=None, _history_enabled=None, _path=None, _name=None, command=None)
매개 변수
Name | Description |
---|---|
script
|
Python 스크립트 파일의 상대 경로입니다. 파일 경로는 전달된 원본 디렉터리를 기준으로 합니다 submit. Default value: None
|
arguments
|
Python 스크립트 파일에 대한 명령줄 인수입니다. Default value: None
|
framework
|
실행에 사용되는 대상 프레임워크입니다. 지원되는 프레임워크는 Python, PySpark, TensorFlow 및 PyTorch입니다. Default value: None
|
communicator
|
실행에 사용되는 통신기입니다. 지원되는 통신기는 None, ParameterServer, OpenMpi 및 IntelMpi입니다. OpenMpi에는 OpenMpi가 설치된 사용자 지정 이미지가 필요합니다. AmlCompute 클러스터에 대해 ParameterServer 또는 OpenMpi를 사용합니다. 분산 학습 작업에 IntelMpi를 사용합니다. Default value: None
|
conda_dependencies
|
False의 기본값으로 남으면 시스템에서 Python 환경을 만듭니다. 여기에는 지정된 패키지가 포함됩니다 Default value: None
|
auto_prepare_environment
필수
|
되지 않는. 이 설정은 더 이상 사용되지 않습니다. |
command
|
실행에 대해 제출할 명령입니다. 명령 속성은 스크립트/인수 대신 사용할 수도 있습니다. 명령 및 스크립트/인수 속성을 함께 사용하여 실행을 제출할 수 없습니다. 명령 속성을 사용하여 스크립트 파일을 제출하려면 - ['python', 'train.py', '–arg1', arg1_val] 실제 명령을 실행하려면 - ['ls'] Default value: None
|
_history_enabled
|
Default value: None
|
_path
|
Default value: None
|
_name
|
Default value: None
|
설명
일반적으로 특정 문제를 해결하기 위해 기계 학습 시스템을 빌드합니다. 예를 들어 쿼리에 해당하는 검색 결과로 제공될 수 있는 웹 페이지의 순위를 지정하는 최상의 모델을 찾는 데 관심이 있을 수 있습니다. 최상의 기계 학습 모델을 검색하려면 다른 알고리즘을 사용해 보거나 다른 매개 변수 설정 등을 고려해야 할 수 있습니다.
Azure Machine Learning SDK에서는 실험의 개념을 사용하여 다른 학습 실행이 해결하려는 문제와 관련이 있다는 개념을 캡처합니다. 그런 Experiment 다음 이러한 학습 실행에 대한 논리적 컨테이너 역할을 하므로 학습 실행에서 진행 상황을 더 쉽게 추적하고 두 학습 실행을 직접 비교하는 등의 작업을 쉽게 할 수 있습니다.
RunConfiguration은 실험에서 학습 실행을 제출하는 데 필요한 실행 환경 설정을 캡슐화합니다. 동일한 기계 학습 문제를 해결하도록 설계된 학습 실행의 공유 구조뿐만 아니라 서로 고유한 학습 실행을 구별하는 구성 매개 변수(예: 학습 속도, 손실 함수 등)의 차이점을 모두 캡처합니다.
일반적인 학습 시나리오에서는 RunConfiguration 개체와 학습을 위한 실행 스크립트를 함께 패키지하는 개체를 만들어 ScriptRunConfig RunConfiguration을 사용합니다.
RunConfiguration의 구성에는 다음이 포함됩니다.
제출된 스크립트를 포함하여 실험 원본 디렉터리를 묶습니다.
제출된 스크립트에 대한 명령줄 인수 설정
Python 인터프리터에 대한 경로 구성
애플리케이션 종속성을 관리하기 위한 Conda 구성을 가져옵니다. 작업 제출 프로세스는 구성을 사용하여 임시 Conda 환경을 프로비전하고 애플리케이션을 시작할 수 있습니다. 임시 환경은 캐시되고 후속 실행에서 다시 사용됩니다.
Docker 및 사용자 지정 기본 이미지의 선택적 사용.
여러 유형의 Azure 컴퓨팅에 실험을 제출하는 선택 사항입니다.
입력을 구체화하고 출력을 업로드하는 방법을 구성하는 선택 사항입니다.
Spark 및 tensorflow와 같은 공용 런타임에 대한 고급 런타임 설정입니다.
다음 예제에서는 로컬 컴퓨터에서 학습 스크립트를 제출하는 방법을 보여 줍니다.
from azureml.core import ScriptRunConfig, RunConfiguration, Experiment
# create or load an experiment
experiment = Experiment(workspace, "MyExperiment")
# run a trial from the train.py code in your current directory
config = ScriptRunConfig(source_directory='.', script='train.py',
run_config=RunConfiguration())
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)
변수
Name | Description |
---|---|
environment
|
환경 정의입니다. 이 필드는 Python 환경을 구성합니다. 기존 Python 환경을 사용하도록 구성하거나 실험에 대한 임시 환경을 설정하도록 구성할 수 있습니다. 또한 정의는 필요한 애플리케이션 종속성을 설정해야 합니다. |
max_run_duration_seconds
|
실행에 허용되는 최대 시간입니다. 시스템이 이 값보다 오래 걸리는 경우 실행을 자동으로 취소하려고 시도합니다. |
node_count
|
작업에 사용할 노드 수입니다. |
priority
|
정책 예약 작업의 우선 순위입니다. |
history
|
실험 기록 로깅 기능을 사용하지 않도록 설정하고 사용하도록 설정하는 데 사용되는 구성 섹션입니다. |
spark
|
플랫폼이 PySpark로 설정되면 Spark 구성 섹션을 사용하여 제출된 작업에 대한 기본 SparkConf를 설정합니다. |
hdi
|
HDI 구성 섹션은 대상이 Azure HDI 컴퓨팅으로 설정된 경우에만 적용됩니다. HDI 구성은 YARN 배포 모드를 설정하는 데 사용됩니다. 기본 배포 모드는 클러스터입니다. |
docker
|
Docker 구성 섹션은 Docker 환경에 대한 변수를 설정하는 데 사용됩니다. |
tensorflow
|
분산 TensorFlow 매개 변수를 구성하는 데 사용되는 구성 섹션입니다.
이 매개 변수는 TensorFlow 및 |
mpi
|
분산 MPI 작업 매개 변수를 구성하는 데 사용되는 구성 섹션입니다.
이 매개 변수는 Python 및 |
pytorch
|
분산 PyTorch 작업 매개 변수를 구성하는 데 사용되는 구성 섹션입니다.
이 매개 변수는 PyTorch 및 |
paralleltask
|
분산 병렬 작업 작업 매개 변수를 구성하는 데 사용되는 구성 섹션입니다.
이 매개 변수는 Python 및 |
data_references
|
모든 데이터 원본은 각 구성에 따라 실행 중에 실행할 수 있습니다. 사전의 각 항목에 대해 키는 데이터 원본에 지정된 이름이며 값은 DataReferenceConfiguration입니다. |
data
|
실행 중에 실행에 사용할 수 있도록 하는 모든 데이터입니다. |
datacaches
|
<xref:buildin.list>[DatacacheConfiguration]
실행 중에 실행 시 데이터 캐시를 사용할 수 있도록 하는 모든 데이터입니다. |
output_data
|
이 실행에 대해 업로드하고 추적해야 하는 모든 출력입니다. |
source_directory_data_store
|
프로젝트 공유에 대한 지원 데이터 저장소입니다. |
amlcompute
|
실험 중에 만들 컴퓨팅 대상의 세부 정보입니다. 구성은 컴퓨팅 대상이 AmlCompute인 경우에만 적용됩니다. |
kubernetescompute
|
실험 중에 사용할 컴퓨팅 대상의 세부 정보입니다. 구성은 컴퓨팅 대상이 KubernetesCompute인 경우에만 적용됩니다. |
services
|
컴퓨팅 리소스와 대화형으로 연결하기 위한 엔드포인트입니다. 허용되는 엔드포인트는 Jupyter, JupyterLab, VS Code, Tensorboard, SSH 및 사용자 지정 포트입니다. |
메서드
delete |
실행 구성 파일을 삭제합니다. 구성 파일을 찾을 수 없는 경우 발생합니다 UserErrorException . |
load |
디스크에 있는 파일에서 이전에 저장된 실행 구성 파일을 로드합니다. 파일을 가리키는 경우 프로젝트 디렉터리여야 하는 디렉터리를 가리키는 경우 |
save |
RunConfiguration을 디스크의 파일에 저장합니다. A UserErrorException 는 다음과 같은 경우에 발생합니다.
dir_path 유효한 디렉터리인 프로젝트 디렉터리여야 하는 디렉터리를 가리키는 경우 이 메서드는 구성을 수동으로 편집하거나 CLI와 구성을 공유할 때 유용합니다. |
delete
실행 구성 파일을 삭제합니다.
구성 파일을 찾을 수 없는 경우 발생합니다 UserErrorException .
static delete(path, name)
매개 변수
Name | Description |
---|---|
path
필수
|
사용자가 실행 구성에 대한 루트 디렉터리를 선택했습니다. 일반적으로 Git 리포지토리 또는 Python 프로젝트 루트 디렉터리입니다. 구성은 .azureml이라는 하위 디렉터리에서 삭제됩니다. |
name
필수
|
구성 파일 이름입니다. |
예외
형식 | Description |
---|---|
UserErrorException
|
load
디스크에 있는 파일에서 이전에 저장된 실행 구성 파일을 로드합니다.
파일을 가리키는 경우 path
RunConfiguration이 해당 파일에서 로드됩니다.
프로젝트 디렉터리여야 하는 디렉터리를 가리키는 경우 path
RunConfiguration은 path/.azureml/<name> 또는 <path></aml_config/>name<에서 >로드됩니다.
static load(path, name=None)
매개 변수
Name | Description |
---|---|
path
필수
|
사용자가 실행 구성에 대한 루트 디렉터리를 선택했습니다. 일반적으로 Git 리포지토리 또는 Python 프로젝트 루트 디렉터리입니다. 이전 버전과의 호환성을 위해 구성은 .azureml 또는 aml_config 하위 디렉터리에서도 로드됩니다. 파일이 해당 디렉터리에 없으면 지정된 경로에서 파일이 로드됩니다. |
name
|
구성 파일 이름입니다. Default value: None
|
반환
형식 | Description |
---|---|
실행 구성 개체입니다. |
save
RunConfiguration을 디스크의 파일에 저장합니다.
A UserErrorException 는 다음과 같은 경우에 발생합니다.
RunConfiguration은 지정된 이름으로 저장할 수 없습니다.
매개 변수가 지정되지 않았습니다
name
.path
매개 변수가 잘못되었습니다.
dir_path 유효한 디렉터리인 path
dir_path</>file_name<> 형식<인 경우 > RunConfiguration은 dir_path/<file_name>< 저장>됩니다.
프로젝트 디렉터리여야 하는 디렉터리를 가리키는 경우 path
RunConfiguration은 path/.azureml/<name> 또는 <path></aml_config/>name<에 >저장됩니다.
이 메서드는 구성을 수동으로 편집하거나 CLI와 구성을 공유할 때 유용합니다.
save(path=None, name=None, separate_environment_yaml=False)
매개 변수
Name | Description |
---|---|
separate_environment_yaml
|
Conda 환경 구성을 저장할지 여부를 나타냅니다. True이면 Conda 환경 구성이 'environment.yml'이라는 YAML 파일에 저장됩니다. Default value: False
|
path
|
사용자가 실행 구성에 대한 루트 디렉터리를 선택했습니다. 일반적으로 Git 리포지토리 또는 Python 프로젝트 루트 디렉터리입니다. 구성은 .azureml이라는 하위 디렉터리에 저장됩니다. Default value: None
|
name
|
[필수] 구성 파일 이름입니다. Default value: None
|
반환
형식 | Description |
---|---|
특성
auto_prepare_environment
매개 변수를 auto_prepare_environment
가져옵니다. 더 이상 사용되지 않고 사용되지 않는 설정입니다.
target
작업이 실행될 예정인 컴퓨팅 대상을 가져옵니다.
기본 대상은 로컬 컴퓨터를 참조하는 "로컬"입니다. 사용 가능한 클라우드 컴퓨팅 대상은 함수 compute_targets를 사용하여 찾을 수 있습니다.
반환
형식 | Description |
---|---|
대상 이름 |