在 Windows 上启用 PyTorch 与 DirectML

使用 DirectML 的 PyTorch 为开发人员提供了一种易于使用的方法,可在其Windows计算机上试用最新的和最出色的 AI 模型。 可以通过安装 torch-directml PyPi 包,通过 DirectML 下载 PyTorch。 设置后,可以开始使用我们的 示例 或使用 Foundry Toolkit for VS Code。

检查Windows的版本

在本机Windows系统上,torch-directml包从Windows 10的1709版本(内部版本16299或更高版本)开始可用。 可以通过运行 winver 来检查构建版本号,方法是点击 Windows 徽标键 + R 打开 运行 命令。

检查 GPU 驱动程序更新

确保已安装最新的 GPU 驱动程序。 在 Windows 设置Windows 更新 中选择 检查更新

设置 Torch-DirectML

建议在Windows内设置虚拟Python环境。 有许多工具可用于设置虚拟Python环境-对于这些说明,我们将使用 Anaconda 的 Miniconda。 此设置的其余部分假定你使用 Miniconda 环境。

设置Python环境

在系统上下载并安装 Miniconda Windows installer。 在 Anaconda 站点上,有额外的设置指南。 安装 Miniconda 后,使用名为 pytdml Python 创建环境,并通过以下命令激活它。

conda create --name pytdml -y
conda activate pytdml

安装 PyTorch 和 Torch-DirectML

注释

torch-directml 包最多支持 PyTorch 2.3.1

要完成安装,只需通过运行以下命令来安装 torch-directml 的最新版本

pip install torch-directml

验证和设备创建

安装 torch-directml 包后,可以通过对两个张量进行加法运算来确认其是否正常运行。 首先启动交互式Python会话,并使用以下行导入 Torch:

import torch
import torch_directml
dml = torch_directml.device()

torch-directml 的当前版本映射到“PrivateUse1”Torch 后端。 torch_directml.device() API 是一个方便的封装工具,用于将张量发送到 DirectML 设备。

创建 DirectML 设备后,现在可以定义两个简单的张量:一个张量包含 1,另一个张量包含 2。 将张量放置在“dml”设备上。

tensor1 = torch.tensor([1]).to(dml) # Note that dml is a variable, not a string!
tensor2 = torch.tensor([2]).to(dml)

将张量一起添加,并打印结果。

dml_algebra = tensor1 + tensor2
dml_algebra.item()

您应该能看到输出数字 3,如以下示例所示。

>>> import torch
>>> tensor1 = torch.tensor([1]).to(dml)
>>> tensor2 = torch.tensor([2]).to(dml)
>>> dml_algebra = tensor1 + tensor2
>>> dml_algebra.item()
3

包含 DirectML 示例和反馈的 PyTorch

请查看 我们的示例 ,了解将 PyTorch 与 DirectML 配合使用的更多用法。 如果遇到问题,或者有有关 PyTorch 的 DirectML 包的反馈,请 在此处与我们的团队联系