다음을 통해 공유


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은 자동으로 시도합니다.

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

생성자

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 분산 학습

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

== 1 및 node_count == 1이면 process_count_per_node 백 엔드가 명시적으로 설정되지 않는 한 백 엔드가 사용되지 않습니다. 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_packagespip_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 분산 학습

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

== 1 및 node_count == 1이면 process_count_per_node 백 엔드가 명시적으로 설정되지 않는 한 백 엔드가 사용되지 않습니다. 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_packagespip_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
필수

스크립트 Linting 경고를 표시합니다. 기본값은 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 | future | 0.17.1 | 0.17.1 |

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

추가 종속성을 설치하려면 해당 또는 pip_packages 매개 변수를 conda_packages 사용할 수 있습니다. 또는 매개 변수를 pip_requirements_fileconda_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'