在Windows平台使用源码编译和安装PyTorch3D指定版本

最近在部署 SyncTalk 虚拟数字人项目时,需要安装很多依赖项,在执行到pip install --no-index --no-cache-dir pytorch3d -f https://dl.fbaipublicfiles.com/pytorch3d/packaging/wheels/py38_cu113_pyt1121/download.html这一句命令时,安装 PyTorch3D 失败,输出如下信息:

shell 复制代码
(synctalk) C:\SyncTalk>pip install --no-index --no-cache-dir pytorch3d -f https://dl.fbaipublicfiles.com/pytorch3d/packaging/wheels/py38_cu113_pyt1121/download.html
Looking in indexes: https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple, https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
ERROR: Could not find a version that satisfies the requirement pytorch3d (from versions: none)
ERROR: No matching distribution found for pytorch3d

于是,我就想着克隆 facebookresearch/pytorch3d 官方仓库源码,自行通过本地编译的方式进行安装。

了解到 SyncTalk 虚拟数字人项目依赖的 Pytorch 版本是 1.12.1,CUDA 版本是 11.3,PyTorch3D 版本是 0.7.2。

而编译 PyTorch3D 除了依赖 CUDA 之外,需要另外依赖 CUB 和 Visual Studio 2017 或 Visual Studio 2019。

根据 CUB 官方建议,CUDA 11.3 对应的 CUB 版本是 1.11.0,对照表地址:https://github.com/NVIDIA/cub

所以从 CUB 官方仓库 下载了 1.11.0 版本压缩包https://github.com/NVIDIA/cub/archive/refs/tags/1.11.0.zip,将其解压到任意路径,

我是解压到 C:\Program Files\cub-1.11.0,然后配置 CUB_HOME 系统环境变量,填的也是这个路径,不需要额外添加到 PATH 系统环境变量。

另外,也配置了 CUDA_HOME 这个系统环境变量,指向 CUDA Toolkits 11.3 的安装路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3

以及向系统环境变量 PATH 追加了 %CUDA_HOME%\bin;%CUDA_HOME%\libnvvp;

需要再次强调的是,这里配的是系统环境变量,不是用户环境变量。系统全局范围生效,而不是当前用户生效。

至于 Visual Studio 2017 或 Visual Studio 2019,我电脑只安装了 Visual Studio 2022,

而VS官方下载页已经不开放 VS2019 及更早版本的下载,即便是登录 Microsoft 账号跳转到订阅服务页面,普通订阅也获取不到可用的下载地址。

经过一番搜索,发现这几个永久下载链接还没失效,大家可以下载收藏:

Visual Studio 生成工具 安装后,需要重启电脑。

解决了前置依赖条件和编译环境后,打开 x64 Native Tools Command Prompt for VS 2017x64 Native Tools Command Prompt for VS 2019,执行以下命令,开始克隆 PyTorch3D 0.7.2 版本,同时进行编译和安装:

shell 复制代码
(synctalk) C:\SyncTalk>set DISTUTILS_USE_SDK=1
pip install "git+https://github.com/facebookresearch/[email protected]"

编译并且安装成功后,我们验证一下是否可用:

shell 复制代码
(synctalk) C:\SyncTalk>python -c "import torch; import pytorch3d; print('PyTorch version:', torch.__version__); print('PyTorch3D version:', pytorch3d.__version__)"
PyTorch version: 1.12.1+cu113
PyTorch3D version: 0.7.2

PS:CUDA Toolkits 11.3 的下载地址为:https://developer.nvidia.com/cuda-11.3.0-download-archive

如果要编译和安装 PyTorch3D 最新稳定版,可以把 @v0.7.2 改为 @stable

相关推荐
-曾牛35 分钟前
Spring AI 快速入门:从环境搭建到核心组件集成
java·人工智能·spring·ai·大模型·spring ai·开发环境搭建
自由鬼1 小时前
开源AI开发工具:OpenAI Codex CLI
人工智能·ai·开源·软件构建·开源软件·个人开发
豌豆花下猫6 小时前
Python 潮流周刊#99:如何在生产环境中运行 Python?(摘要)
后端·python·ai
深圳市快瞳科技有限公司6 小时前
当OCR遇上“幻觉”:如何让AI更靠谱地“看懂”文字?
人工智能·ai·ocr
带刺的坐椅8 小时前
开发 MCP Proxy(代理)也可以用 Solon AI MCP 哟!
java·ai·llm·solon·mcp·mcp-server·mcp-client
PLUS_WAVE9 小时前
【CUDA 编译 bug】ld: cannot find -lcudart
服务器·c++·bug·环境·编译·cuda·ld
Zhikes12 小时前
潮了 低配电脑6G显存生成60秒AI视频 本地部署/一键包/云算力部署/批量生成
ai
yuanlaile15 小时前
AI大模型自然语言处理能力案例演示
人工智能·ai·自然语言处理
考拉悠然科技18 小时前
考拉悠然:科技与匠心,以烟草虫情AI监测系统共筑品质未来
ai