在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/pytorch3d.git@v0.7.2"

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

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

相关推荐
肖遥Janic2 小时前
Stable Diffusion绘画 | 插件-Deforum:商业LOGO广告视频
人工智能·ai·ai作画·stable diffusion
三桥君18 小时前
Prompt:在AI时代,提问比答案更有价值
人工智能·ai·大模型·prompt·产品经理·三桥君
Jet-W1 天前
Prompt技巧总结和示例分享
ai·prompt·ai对话
YINWA AI1 天前
胤娲科技:AI界的超级充电宝——忆阻器如何让LLM告别电量焦虑
人工智能·科技·ai
三桥君1 天前
我为什么决定关闭ChatGPT的记忆功能?
人工智能·ai·自然语言处理·chatgpt·prompt·openai·ai产品经理
2的n次方_1 天前
【AIGC】内容创作——AI文字、图像、音频和视频的创作流程
人工智能·ai·音视频
Dlimeng1 天前
2024年OpenAI DevDay发布实时 API、提示缓存等新功能
人工智能·深度学习·ai·chatgpt·openai·sam altman
贪玩懒悦1 天前
用langchain+streamlit应用RAG实现个人知识库助手搭建
人工智能·ai·语言模型·langchain·aigc
AI原吾1 天前
探索 aMQTT:Python中的AI驱动MQTT库
开发语言·人工智能·python·ai·amqtt