PyTorch 类
表示要在 PyTorch 试验中进行训练的估算器。
已弃用。 将 ScriptRunConfig 对象与自己定义的环境或其中一个 Azure ML PyTorch 特选环境一起使用。 有关使用 ScriptRunConfig 运行配置 PyTorch 试验的简介,请参阅使用 Azure 机器学习大规模训练 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.datapath.DataPath :p aram max_run_duration_seconds:允许运行的最长时间。 Azure ML 将尝试自动
如果运行时间超过此值,则取消运行。
- 继承
-
azureml.train.estimator._framework_base_estimator._FrameworkBaseEstimatorPyTorch
构造函数
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)
参数
名称 | 说明 |
---|---|
source_directory
必需
|
包含试验配置文件的本地目录。 |
compute_target
必需
|
发生训练的计算目标。 可以是对象或字符串“local”。 |
vm_size
必需
|
将为训练创建的计算目标的 VM 大小。 支持的值:任何 Azure VM 大小。 |
vm_priority
必需
|
将为训练创建的计算目标的 VM 优先级。 如果未指定,则使用“dedicated”。 支持的值:“dedicated”和“lowpriority”。 这仅在输入中指定了 |
entry_script
必需
|
包含训练脚本的文件的相对路径。 |
script_params
必需
|
要传递给 |
node_count
必需
|
计算目标中用于训练的节点数。 如果大于 1,则将运行 MPI 分布式作业。 分布式作业仅支持 AmlCompute 目标。 |
process_count_per_node
必需
|
每个节点的进程数。 如果大于 1,则将运行 MPI 分布式作业。 分布式作业仅支持 AmlCompute 目标。 |
distributed_backend
必需
|
分布式训练的通信后端。 已弃用。 使用 支持的值:“mpi”、“gloo”和“nccl”。 'mpi': MPI/Horovod 'gloo', 'nccl':本机 PyTorch 分布式训练 在 当 |
distributed_training
必需
|
|
use_gpu
必需
|
指定要运行试验的环境是否应支持 GPU。
如果为 true,则将在环境中使用基于 GPU 的默认 Docker 映像。 如果为 false,则使用基于 CPU 的映像。 仅当未设置 |
use_docker
必需
|
指定要运行试验的环境是否应基于 Docker。 |
custom_docker_base_image
必需
|
要从中生成用于训练的映像的 Docker 映像的名称。 已弃用。 使用 如果未设置,则将使用基于 CPU 的默认映像作为基础映像。 |
custom_docker_image
必需
|
要从中生成用于训练的映像的 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
必需
|
conda 依赖项 yaml 文件的相对路径。
如果已指定,Azure ML 将不安装任何框架相关的包。
已弃用。 使用 |
pip_requirements_file_path
必需
|
pip 要求文本文件的相对路径。
这可以与 |
conda_dependencies_file
必需
|
conda 依赖项 yaml 文件的相对路径。 如果已指定,Azure ML 将不安装任何框架相关的包。 |
pip_requirements_file
必需
|
pip 要求文本文件的相对路径。
这可以与 |
environment_variables
必需
|
环境变量名称和值的字典。 这些环境变量是在执行用户脚本的进程上设置的。 |
environment_definition
必需
|
试验的环境定义。 它包括 PythonSection、DockerSection 和环境变量。 使用此参数可以设置不通过其他参数直接公开到估算器构造的任何环境选项。 如果指定了此参数,它将优先于其他与环境相关的参数,如 |
inputs
必需
|
要用作输入的 DataReference 或 DatasetConsumptionConfig 对象的列表。 |
source_directory_data_store
必需
|
适用于项目共享的备份数据存储。 |
shm_size
必需
|
Docker 容器的共享内存块的大小。 如果未设置,则使用默认的 azureml.core.environment._DEFAULT_SHM_SIZE。 有关详细信息,请查看 Docker 运行参考。 |
resume_from
必需
|
包含要从中恢复试验的检查点或模型文件的数据路径。 |
max_run_duration_seconds
必需
|
运行所允许的最大时间。 如果运行时间超过此值,Azure ML 会尝试自动取消运行。 |
framework_version
必需
|
要用于执行训练代码的 PyTorch 版本。
|
source_directory
必需
|
包含试验配置文件的本地目录。 |
compute_target
必需
|
发生训练的计算目标。 可以是对象或字符串“local”。 |
vm_size
必需
|
将为训练创建的计算目标的 VM 大小。 支持的值:任何 Azure VM 大小。 |
vm_priority
必需
|
将为训练创建的计算目标的 VM 优先级。 如果未指定,则使用“dedicated”。 支持的值:“dedicated”和“lowpriority”。 这仅在输入中指定了 |
entry_script
必需
|
包含训练脚本的文件的相对路径。 |
script_params
必需
|
要传递给 |
node_count
必需
|
计算目标中用于训练的节点数。 如果大于 1,将运行 mpi 分布式作业。 分布式作业仅支持 azureml.core.compute.AmlCompute 目标。 |
process_count_per_node
必需
|
每个节点的进程数。 如果大于 1,则将运行 MPI 分布式作业。 分布式作业仅支持 AmlCompute 目标。 |
distributed_backend
必需
|
分布式训练的通信后端。 已弃用。 使用 支持的值:“mpi”、“gloo”和“nccl”。 'mpi': MPI/Horovod 'gloo', 'nccl':本机 PyTorch 分布式训练 在 当 |
distributed_training
必需
|
|
use_gpu
必需
|
指定要运行试验的环境是否应支持 GPU。
如果为 true,则将在环境中使用基于 GPU 的默认 Docker 映像。 如果为 false,则使用基于 CPU 的映像。 仅当未设置 |
use_docker
必需
|
指定要运行试验的环境是否应基于 Docker。 |
custom_docker_base_image
必需
|
要从中生成用于训练的映像的 Docker 映像的名称。 已弃用。 使用 如果未设置,则将使用基于 CPU 的默认映像作为基础映像。 |
custom_docker_image
必需
|
要从中生成用于训练的映像的 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
必需
|
conda 依赖项 yaml 文件的相对路径。 如果已指定,Azure ML 将不安装任何框架相关的包。
已弃用。 使用 |
pip_requirements_file_path
必需
|
pip 要求文本文件的相对路径。
这可以与 |
conda_dependencies_file
必需
|
conda 依赖项 yaml 文件的相对路径。 如果已指定,Azure ML 将不安装任何框架相关的包。 |
pip_requirements_file
必需
|
pip 要求文本文件的相对路径。
这可以与 |
environment_variables
必需
|
环境变量名称和值的字典。 这些环境变量是在执行用户脚本的进程上设置的。 |
environment_definition
必需
|
试验的环境定义。 它包括 PythonSection、DockerSection 和环境变量。 使用此参数可以设置不通过其他参数直接公开到估算器构造的任何环境选项。 如果指定了此参数,它将优先于其他与环境相关的参数,如 |
inputs
必需
|
azureml.data.data_reference列表。用作输入的 DataReference 对象。 |
source_directory_data_store
必需
|
适用于项目共享的备份数据存储。 |
shm_size
必需
|
Docker 容器的共享内存块的大小。 如果未设置,则使用默认的 azureml.core.environment._DEFAULT_SHM_SIZE。 有关详细信息,请参阅 |
framework_version
必需
|
要用于执行训练代码的 PyTorch 版本。
|
_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 image only) | 10.0 | 10.1 | cuDNN (GPU image only) | 7.6.3 | 7.6.3 | NCCL (GPU image only) | 2.4.8 | 2.4.8 | azureml-defaults | Latest | Latest | 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_file
或 conda_dependencies_file
参数。
或者,可以生成自己的映像,将 custom_docker_image
参数传递给估算器构造函数。
有关 PyTorch 训练中使用的 Docker 容器的详细信息,请参阅 https://github.com/Azure/AzureML-Containers。
PyTorch 估算器支持使用 Horovod 跨 CPU 和 GPU 群集进行分布式训练,Horovod 是一个开源的 all reduce 框架,用于分布式训练。 有关在分布式训练中使用 PyTorch 的示例和详细信息,请参阅教程使用 Azure 机器学习大规模训练和注册 PyTorch 模型。
属性
DEFAULT_VERSION
DEFAULT_VERSION = '1.4'
FRAMEWORK_NAME
FRAMEWORK_NAME = 'PyTorch'