
微软推出适用于 Windows 的 Arm 原生 PyTorch 版本
在 GitHub 上推出 Windows on Arm 运行器支持仅几周后,微软又发布了一项具有里程碑意义的公告,面向以运行 Windows 的 Arm 设备为目标的开发者。广泛使用的开源机器学习框架PyTorch的原生版本现已正式支持Windows on Arm。这一进展简化了开发者在 Arm 架构上原生构建和测试应用程序的流程。
PyTorch 对机器学习的意义
对于不熟悉 PyTorch 的人来说,它对于专注于构建和训练深度神经网络的研究人员和开发者来说是一个至关重要的工具。过去,在搭载 Arm 芯片的 Windows 设备上运行 PyTorch 颇具挑战性,因为用户需要从源代码编译整个框架——这个过程非常耗时,而且不太适合编程新手。
PyTorch 2.7 中的新功能
随着PyTorch 2.7的发布,适用于 Arm 上 Windows 的原生构建现已支持Python 3.12 。开发者可以使用pip 等标准包管理器轻松安装 PyTorch ,从而显著简化安装过程。
据微软称:
这释放了在 Windows 设备(如 Copilot+ PC)上充分利用 Arm64 架构的全部性能进行机器学习实验的潜力,为开发人员和研究人员提供了一个强大的平台来创新和改进他们的模型。
机器学习开发的好处
预计这项最新产品将直接在基于 Arm 的 Windows 计算机上增强机器学习模型的本地开发、训练和测试。值得注意的是,微软重点介绍了其在图像分类、自然语言处理和生成式 AI 等领域的潜在应用,并以 Stable Diffusion 等工具为例。
在 Windows 上开始使用原生 PyTorch
要开始在 Arm 上运行 Windows 版 PyTorch 原生二进制文件,开发者必须安装一些必备组件。这些组件包括从Visual Studio 构建工具或完整的Visual Studio 安装中获取的组件。
- 确保选择使用 C++ 进行桌面开发工作负载。
- 确保在安装过程中包含最新的VS 2022 C++ ARM64/ARM64EC构建工具。

此外,你的系统上还需要安装Rust和 Arm64 版本的 Python 3.12。满足这些先决条件后,你只需执行一个简单的命令,就能通过 pip 安装稳定版 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
其他原生构建和最佳实践
除了 Python 软件包外,LibTorch 的原生构建版本也已发布。LibTorch 是 PyTorch 的 C++ 前端,常用于部署环境。开发者可以访问 PyTorch 网站,获取 LibTorch 的全面入门指南。作为 Python 开发的标准做法,微软建议创建虚拟环境 (venv),以无缝管理项目依赖关系并避免潜在的冲突。
应用示例和采用
此外,微软还展示了在 Windows ARM 平台上使用原生 PyTorch 二进制文件进行 Stable Diffusion 的示例,为开发者如何在应用程序中利用生成式 AI 提供了深刻见解。相关代码可在此GitHub 存储库中找到。
解决依赖性挑战
需要注意的是,虽然 PyTorch 和 LibTorch 现在支持 Arm 上的 Windows 原生二进制文件,但并非所有依赖项都支持。一些额外的 Python 软件包,尤其是那些包含以 C、C++ 或 Rust 等语言编写的性能敏感组件的软件包,可能尚未在 PyPI 上提供预编译的原生 Arm64.whl 文件。因此,直接使用 pip 安装可能无法为每个正在使用的库生成原生版本。
但是,pip 可以直接从源代码发行版(通常以.tar.gz 文件的形式提供)安装依赖项。如果您的系统上存在合适的构建工具(例如前面提到的带有 Arm64 工具链和 Rust 的 MSVC),pip 可以在本地将这些软件包编译成与 Windows 兼容的.whl 文件。
微软强调,此方法允许安装流行软件包的特定版本,例如 NumPy 2.2.3 和 safetensors 0.5.3,并展示了所需的命令:
pip install numpy==2.2.3 # and pip install safetensors==0.5.3
这些命令是如何有效地从源代码编译包的示例。
阅读更多
如需进一步见解和其他示例,请参阅Microsoft Windows 博客上的完整公告。
发表回复 ▼