微软近日宣布了一项重要进展:PyTorch 现已原生支持 Windows on Arm。这一更新将显著简化在基于 Arm 的 Windows 设备上进行机器学习开发的流程,为开发者和研究人员提供更高效的工具。
此前,在搭载 Arm 芯片的 Windows 设备上运行 PyTorch 需要从源代码手动编译整个框架,这对初学者来说既复杂又耗时。而现在,随着 PyTorch 2.7 的发布,开发者可以直接通过 pip
安装适用于 Python 3.12 的原生 PyTorch 构建,大幅降低了使用门槛。
为什么这很重要?
PyTorch 是一个广泛使用的开源机器学习框架,许多研究人员和开发者依赖它构建和训练深度神经网络。过去,由于缺乏对 Windows on Arm 的原生支持,开发者需要额外付出大量时间和精力来适配和优化环境。现在,微软的这一举措不仅释放了 Arm64 架构在 Windows 设备上的性能潜力,还为图像分类、自然语言处理以及生成式 AI(如 Stable Diffusion)等应用提供了强大的本地开发平台。
微软特别提到,像 Copilot+ PC 这样的设备将直接受益于这一改进,用户可以在这些设备上更高效地进行模型训练、测试和部署。
如何开始使用?
要在 Windows on Arm 上使用原生 PyTorch,你需要完成以下步骤:
1. 安装必要的先决条件
- Visual Studio Build Tools 或完整版 Visual Studio
- 安装“使用 C++ 的桌面开发”工作负载。
- 确保选择了“VS 2022 C++ ARM64/ARM64EC 生成工具(最新)”。
- Rust 编程语言
某些依赖项可能需要 Rust,因此建议提前安装。 - Python 3.12(Arm64 版本)
确保系统中已安装适用于 Arm64 的 Python 3.12。
2. 使用 pip 安装 PyTorch
一旦上述环境准备就绪,你可以通过以下命令安装稳定的 PyTorch 构建:
pip install --extra-index-url https://download.pytorch.org/whl torch
如果你希望尝试最新的功能,可以安装 Nightly 或 Preview 版本:
pip install --pre torch --index-url https://download.pytorch.org/whl/nightly/cpu
3. 创建虚拟环境
为了更好地管理项目依赖,微软建议为每个项目创建一个虚拟环境(venv)。例如:
python -m venv my_pytorch_env
source my_pytorch_env/bin/activate # 在 Windows 上使用 `my_pytorch_env\Scripts\activate`
LibTorch 和其他工具的支持
除了 Python 的 PyTorch 构建,LibTorch(PyTorch 的 C++ 前端)也已支持 Windows on Arm。LibTorch 常用于生产环境中的模型部署,其入门指南可在 PyTorch 官方网站 找到。
微软还提供了一个示例项目,演示如何在 Windows on Arm 上使用原生 PyTorch 构建生成 Stable Diffusion 应用程序。感兴趣的朋友可以访问 GitHub 仓库 获取代码。
潜在挑战:依赖项的兼容性
尽管 PyTorch 和 LibTorch 已实现原生支持,但并非所有相关依赖项都已完全适配 Windows on Arm。例如,一些性能敏感的 Python 包(通常用 C、C++ 或 Rust 编写)可能尚未在 PyPI 上提供预编译的 Arm64 .whl
文件。
在这种情况下,pip
可以直接从源代码分发包(通常是 .tar.gz
文件)自动安装依赖项。如果系统中已安装必要的构建工具(如 MSVC 和 Rust),pip
将在本地编译这些包并生成与 Windows 兼容的 .whl
文件。
微软分享了一些常用软件包的安装示例:
pip install numpy==2.2.3
pip install safetensors==0.5.3
评论