다음을 통해 공유


PyTorch 클래스

PyTorch 실험에서 학습을 위한 예측 도구를 나타냅니다.

사용되지 않습니다. ScriptRunConfig 개체는 사용자 정의 환경에서 사용하거나 Azure ML PyTorch 큐레이팅된 환경 중 하나에서 사용합니다. ScriptRunConfig를 사용하여 PyTorch 실험 실행을 구성하는 방법에 대한 소개는 Azure Machine Learning을 사용한 대규모 PyTorch 모델 학습을 참조하세요.

지원되는 버전: 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6

PyTorch 추정기를 초기화합니다.

Docker 실행 참조입니다. :type shm_size: str :p aram resume_from: 실험을 다시 시작할 검사점 또는 모델 파일이 포함된 데이터 경로입니다. :type resume_from: azureml.data.datapath.DataPath :p aram max_run_duration_seconds: 실행에 허용되는 최대 시간입니다. Azure ML은 자동으로 시도합니다.

이 값보다 오래 걸리면 실행을 취소합니다.

상속
azureml.train.estimator._framework_base_estimator._FrameworkBaseEstimator
PyTorch

생성자

PyTorch(source_directory, *, compute_target=None, vm_size=None, vm_priority=None, entry_script=None, script_params=None, node_count=1, process_count_per_node=1, distributed_backend=None, distributed_training=None, use_gpu=False, use_docker=True, custom_docker_base_image=None, custom_docker_image=None, image_registry_details=None, user_managed=False, conda_packages=None, pip_packages=None, conda_dependencies_file_path=None, pip_requirements_file_path=None, conda_dependencies_file=None, pip_requirements_file=None, environment_variables=None, environment_definition=None, inputs=None, source_directory_data_store=None, shm_size=None, resume_from=None, max_run_duration_seconds=None, framework_version=None, _enable_optimized_mode=False, _disable_validation=True, _show_lint_warnings=False, _show_package_warnings=False)

매개 변수

Name Description
source_directory
필수
str

실험 구성 파일을 포함하는 로컬 디렉터리입니다.

compute_target
필수

학습이 수행될 컴퓨팅 대상입니다. 이는 개체이거나 "local" 문자열일 수 있습니다.

vm_size
필수
str

학습을 위해 만들어질 컴퓨팅 대상의 VM 크기입니다. 지원되는 값: 모든 Azure VM 크기.

vm_priority
필수
str

학습을 위해 만들어질 컴퓨팅 대상의 VM 우선 순위입니다. 지정하지 않으면 ‘dedicated’가 사용됩니다.

지원되는 값: ‘dedicated’ 및 ‘lowpriority’.

입력에서 vm_size param이 지정된 경우에만 적용됩니다.

entry_script
필수
str

학습 스크립트를 포함하는 파일에 대한 상대 경로입니다.

script_params
필수

entry_script에 지정된 학습 스크립트에 전달할 명령줄 인수 사전입니다.

node_count
필수
int

학습에 사용되는 컴퓨팅 대상의 노드 수입니다. 1보다 크면 MPI 분산 작업이 실행됩니다. 분산 작업에는 AmlCompute 대상만 지원됩니다.

process_count_per_node
필수
int

노드당 프로세스 수입니다. 1보다 크면 MPI 분산 작업이 실행됩니다. 분산 작업에는 AmlCompute 대상만 지원됩니다.

distributed_backend
필수
str

분산 학습을 위한 통신 백 엔드입니다.

사용되지 않습니다. distributed_training 매개 변수를 사용합니다.

지원되는 값: 'mpi', 'gloo' 및 'nccl'.

'mpi': MPI/Horovod 'gloo', 'nccl': 기본 PyTorch 분산 학습

이 매개 변수는 node_count 또는 process_count_per_node>일 때 필요합니다. 1.

node_count == 1이고 process_count_per_node == 1이면 백 엔드가 명시적으로 설정되지 않는 한 백 엔드가 사용되지 않습니다. 분산 학습에는 AmlCompute 대상만 지원됩니다.

distributed_training
필수
Mpi 또는 Gloo 또는 Nccl

분산 학습 작업을 실행하기 위한 매개 변수입니다.

MPI 백 엔드로 분산 작업을 실행하려면 Mpi 개체를 사용하여 process_count_per_node를 지정합니다. gloo 백 엔드를 사용하여 분산 작업을 실행하려면 Gloo를 사용합니다. nccl 백 엔드를 사용하여 분산 작업을 실행하려면 Nccl을 사용합니다.

use_gpu
필수

실험을 실행할 환경에서 GPU를 지원해야 하는지 여부를 지정합니다. true인 경우 환경에서 GPU 기반 기본 Docker 이미지가 사용됩니다. False이면 CPU 기반 이미지가 사용됩니다. 기본 Docker 이미지(CPU 또는 GPU)는 custom_docker_image 매개 변수가 설정되지 않은 경우에만 사용됩니다. 이 설정은 Docker 지원 컴퓨팅 대상에서만 사용됩니다.

use_docker
필수

실험을 실행할 환경이 Docker 기반이어야 하는지 여부를 지정합니다.

custom_docker_base_image
필수
str

학습에 사용할 이미지가 빌드될 Docker 이미지의 이름입니다.

사용되지 않습니다. custom_docker_image 매개 변수를 사용합니다.

설정하지 않으면 기본 CPU 기반 이미지가 기본 이미지로 사용됩니다.

custom_docker_image
필수
str

학습에 사용할 이미지가 빌드될 Docker 이미지의 이름입니다. 설정하지 않으면 기본 CPU 기반 이미지가 기본 이미지로 사용됩니다.

image_registry_details
필수

Docker 이미지 레지스트리의 세부 정보입니다.

user_managed
필수

Azure ML이 기존 Python 환경을 다시 사용하는지 여부를 지정합니다. False인 경우 Azure ML은 conda 종속성 사양에 따라 Python 환경을 만듭니다.

conda_packages
필수

실험을 위해 Python 환경에 추가할 conda 패키지를 나타내는 문자열 목록입니다.

pip_packages
필수

실험을 위해 Python 환경에 추가할 pip 패키지를 나타내는 문자열 목록입니다.

conda_dependencies_file_path
필수
str

conda 종속성 yaml 파일의 상대 경로입니다. 이 값을 지정하면 Azure ML은 프레임워크 관련 패키지를 설치하지 않습니다. 사용되지 않습니다. conda_dependencies_file 매개 변수를 사용합니다.

pip_requirements_file_path
필수
str

pip 요구 사항 텍스트 파일의 상대 경로입니다. pip_packages 매개 변수와 함께 제공할 수 있습니다. 사용되지 않습니다. pip_requirements_file 매개 변수를 사용합니다.

conda_dependencies_file
필수
str

conda 종속성 yaml 파일의 상대 경로입니다. 이 값을 지정하면 Azure ML은 프레임워크 관련 패키지를 설치하지 않습니다.

pip_requirements_file
필수
str

pip 요구 사항 텍스트 파일의 상대 경로입니다. pip_packages 매개 변수와 함께 제공할 수 있습니다.

environment_variables
필수

환경 변수 이름 및 값의 사전입니다. 이러한 환경 변수는 사용자 스크립트가 실행되는 프로세스에서 설정됩니다.

environment_definition
필수

실험에 대한 환경 정의입니다. 여기에는 PythonSection, DockerSection 및 환경 변수가 포함됩니다. 다른 매개 변수를 통해 예측 도구 구성에 직접 노출되지 않는 환경 옵션은 이 매개 변수를 사용하여 설정할 수 있습니다. 이 매개 변수를 지정하면 use_gpu, custom_docker_image, conda_packages 또는 pip_packages와 같은 다른 환경 관련 매개 변수보다 우선 적용됩니다. 잘못된 매개 변수 조합에 대한 오류가 보고됩니다.

inputs
필수

입력으로 사용할 DataReference 또는 DatasetConsumptionConfig 개체의 목록입니다.

source_directory_data_store
필수

프로젝트 공유를 위한 지원 데이터 저장소입니다.

shm_size
필수
str

Docker 컨테이너의 공유 메모리 블록 크기입니다. 설정하지 않으면 기본 azureml.core.environment._DEFAULT_SHM_SIZE가 사용됩니다. 자세한 내용은 Docker 실행 참조를 참조하세요.

resume_from
필수

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

max_run_duration_seconds
필수
int

실행에 허용되는 최대 시간입니다. Azure ML은 이 값보다 오래 걸리는 경우 실행을 자동으로 취소하려고 시도합니다.

framework_version
필수
str

학습 코드를 실행하는 데 사용할 PyTorch 버전입니다. PyTorch.get_supported_versions()는 현재 SDK에서 지원하는 버전 목록을 반환합니다.

source_directory
필수
str

실험 구성 파일을 포함하는 로컬 디렉터리입니다.

compute_target
필수

학습이 수행될 컴퓨팅 대상입니다. 이는 개체이거나 "local" 문자열일 수 있습니다.

vm_size
필수
str

학습을 위해 만들어질 컴퓨팅 대상의 VM 크기입니다. 지원되는 값: 모든 Azure VM 크기.

vm_priority
필수
str

학습을 위해 만들어질 컴퓨팅 대상의 VM 우선 순위입니다. 지정하지 않으면 ‘dedicated’가 사용됩니다.

지원되는 값: ‘dedicated’ 및 ‘lowpriority’.

입력에서 vm_size param이 지정된 경우에만 적용됩니다.

entry_script
필수
str

학습 스크립트를 포함하는 파일에 대한 상대 경로입니다.

script_params
필수

entry_script에 지정된 학습 스크립트에 전달할 명령줄 인수 사전입니다.

node_count
필수
int

학습에 사용되는 컴퓨팅 대상의 노드 수입니다. 1보다 크면 mpi 분산 작업이 실행됩니다. 분산 작업에는 azureml.core.compute.AmlCompute 대상만 지원됩니다.

process_count_per_node
필수
int

노드당 프로세스 수입니다. 1보다 크면 MPI 분산 작업이 실행됩니다. 분산 작업에는 AmlCompute 대상만 지원됩니다.

distributed_backend
필수
str

분산 학습을 위한 통신 백 엔드입니다.

사용되지 않습니다. distributed_training 매개 변수를 사용합니다.

지원되는 값: 'mpi', 'gloo' 및 'nccl'.

'mpi': MPI/Horovod 'gloo', 'nccl': 기본 PyTorch 분산 학습

이 매개 변수는 node_count 또는 process_count_per_node>일 때 필요합니다. 1.

node_count == 1이고 process_count_per_node == 1이면 백 엔드가 명시적으로 설정되지 않는 한 백 엔드가 사용되지 않습니다. 분산 학습에는 AmlCompute 대상만 지원됩니다.

distributed_training
필수
Mpi 또는 Gloo 또는 Nccl

분산 학습 작업을 실행하기 위한 매개 변수입니다.

MPI 백 엔드로 분산 작업을 실행하려면 Mpi 개체를 사용하여 process_count_per_node를 지정합니다. gloo 백 엔드를 사용하여 분산 작업을 실행하려면 Gloo를 사용합니다. nccl 백 엔드를 사용하여 분산 작업을 실행하려면 Nccl을 사용합니다.

use_gpu
필수

실험을 실행할 환경에서 GPU를 지원해야 하는지 여부를 지정합니다. true인 경우 환경에서 GPU 기반 기본 Docker 이미지가 사용됩니다. False이면 CPU 기반 이미지가 사용됩니다. 기본 Docker 이미지(CPU 또는 GPU)는 custom_docker_image 매개 변수가 설정되지 않은 경우에만 사용됩니다. 이 설정은 Docker 지원 컴퓨팅 대상에서만 사용됩니다.

use_docker
필수

실험을 실행할 환경이 Docker 기반이어야 하는지 여부를 지정합니다.

custom_docker_base_image
필수
str

학습에 사용할 이미지가 빌드될 Docker 이미지의 이름입니다.

사용되지 않습니다. custom_docker_image 매개 변수를 사용합니다.

설정하지 않으면 기본 CPU 기반 이미지가 기본 이미지로 사용됩니다.

custom_docker_image
필수
str

학습에 사용할 이미지가 빌드될 Docker 이미지의 이름입니다. 설정하지 않으면 기본 CPU 기반 이미지가 기본 이미지로 사용됩니다.

image_registry_details
필수

Docker 이미지 레지스트리의 세부 정보입니다.

user_managed
필수

Azure ML이 기존 Python 환경을 다시 사용하는지 여부를 지정합니다. False인 경우 Azure ML은 conda 종속성 사양에 따라 Python 환경을 만듭니다.

conda_packages
필수

실험을 위해 Python 환경에 추가할 conda 패키지를 나타내는 문자열 목록입니다.

pip_packages
필수

실험을 위해 Python 환경에 추가할 pip 패키지를 나타내는 문자열 목록입니다.

conda_dependencies_file_path
필수
str

conda 종속성 yaml 파일의 상대 경로입니다. 이 값을 지정하면 Azure ML은 프레임워크 관련 패키지를 설치하지 않습니다. 사용되지 않습니다. conda_dependencies_file 매개 변수를 사용합니다.

pip_requirements_file_path
필수
str

pip 요구 사항 텍스트 파일의 상대 경로입니다. pip_packages 매개 변수와 함께 제공할 수 있습니다. 사용되지 않습니다. pip_requirements_file 매개 변수를 사용합니다.

conda_dependencies_file
필수
str

conda 종속성 yaml 파일의 상대 경로입니다. 이 값을 지정하면 Azure ML은 프레임워크 관련 패키지를 설치하지 않습니다.

pip_requirements_file
필수
str

pip 요구 사항 텍스트 파일의 상대 경로입니다. pip_packages 매개 변수와 함께 제공할 수 있습니다.

environment_variables
필수

환경 변수 이름 및 값의 사전입니다. 이러한 환경 변수는 사용자 스크립트가 실행되는 프로세스에서 설정됩니다.

environment_definition
필수

실험에 대한 환경 정의입니다. 여기에는 PythonSection, DockerSection 및 환경 변수가 포함됩니다. 다른 매개 변수를 통해 예측 도구 구성에 직접 노출되지 않는 환경 옵션은 이 매개 변수를 사용하여 설정할 수 있습니다. 이 매개 변수를 지정하면 use_gpu, custom_docker_image, conda_packages 또는 pip_packages와 같은 다른 환경 관련 매개 변수보다 우선 적용됩니다. 잘못된 조합에 대한 오류가 보고됩니다.

inputs
필수

azureml.data.data_reference 목록입니다. 입력으로 사용할 DataReference 개체입니다.

source_directory_data_store
필수

프로젝트 공유를 위한 지원 데이터 저장소입니다.

shm_size
필수

Docker 컨테이너의 공유 메모리 블록 크기입니다. 설정하지 않으면 기본 azureml.core.environment._DEFAULT_SHM_SIZE가 사용됩니다. 자세한 내용은

framework_version
필수
str

학습 코드를 실행하는 데 사용할 PyTorch 버전입니다. PyTorch.get_supported_versions()는 현재 SDK에서 지원하는 버전 목록을 반환합니다.

_enable_optimized_mode
필수

더 빠른 환경 준비를 위해 미리 빌드된 프레임워크 이미지를 사용하여 증분 환경 빌드를 사용하도록 설정합니다. 미리 빌드된 프레임워크 이미지는 프레임워크 종속성이 미리 설치된 Azure ML 기본 CPU/GPU 기본 이미지를 기반으로 빌드됩니다.

_disable_validation
필수

제출을 실행하기 전에 스크립트 유효성 검사를 사용하지 않도록 설정합니다. 기본값은 true입니다.

_show_lint_warnings
필수

스크립트 린팅 경고를 표시합니다. 기본값은 False입니다.

_show_package_warnings
필수

패키지 유효성 검사 경고를 표시합니다. 기본값은 False입니다.

설명

학습 작업을 제출할 때 Azure ML은 Docker 컨테이너 내부의 conda 환경에서 스크립트를 실행합니다. PyTorch 컨테이너에는 다음과 같은 종속성이 설치되어 있습니다.

종속성 | PyTorch 1.0/1.1/1.2/1.3/ | PyTorch 1.4/1.5/1.6 | ———————- | —————– | ————- | Python | 3.6.2 | 3.6.2 | CUDA(GPU 이미지만 해당) | 10.0 | 10.1 | cuDNN(GPU 이미지만 해당) | 7.6.3 | 7.6.3 | NCCL(GPU 이미지만 해당) | 2.4.8 | 2.4.8 | azureml-defaults | 최신 | 최신 | OpenMpi | 3.1.2 | 3.1.2 | horovod | 0.18.1 | 0.18.1/0.19.1/0.19.5 | miniconda | 4.5.11 | 4.5.11 | torch | 1.0/1.1/1.2/1.3.1 | 1.4.0/1.5.0/1.6.0 | torchvision | 0.4.1 | 0.5.0 | git | 2.7.4 | 2.7.4 | tensorboard | 1.14 | 1.14 | 향후 | 0.17.1 | 0.17.1 |

Docker 이미지는 Ubuntu 16.04를 확장합니다.

추가 종속성을 설치하려면 conda_packages 또는 pip_packages 매개 변수를 사용하면 됩니다. pip_requirements_file 또는 conda_dependencies_file 매개 변수를 지정할 수도 있습니다. 또는 고유한 이미지를 빌드하고 custom_docker_image 매개 변수를 예측 도구 생성자에 전달할 수 있습니다.

PyTorch 학습에 사용되는 Docker 컨테이너에 대한 자세한 내용은 https://github.com/Azure/AzureML-Containers를 참조하세요.

PyTorch 예측 도구는 오픈 소스인 Horovod를 사용하여 CPU 및 GPU 클러스터 간에 분산 학습을 지원하며, 분산 학습을 위한 모든 축소 프레임워크를 지원합니다. 분산 학습에서 PyTorch를 사용하는 방법에 대한 예제와 자세한 내용은 Azure Machine Learning을 사용하여 대규모로 PyTorch 모델 학습 및 등록 자습서를 참조하세요.

특성

DEFAULT_VERSION

DEFAULT_VERSION = '1.4'

FRAMEWORK_NAME

FRAMEWORK_NAME = 'PyTorch'