在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 失败,输出如下信息:
(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 账号跳转到订阅服务页面,普通订阅也获取不到可用的下载地址。
经过一番搜索,发现这几个永久下载链接还没失效,大家可以下载收藏:
- 最新版本 Microsoft C++ 生成工具 - Visual Studio:https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/
- Visual Studio 2022 Build Tools 下载:https://aka.ms/vs/17/release/vs_BuildTools.exe
- Visual Studio 2019 Build Tools 下载:https://aka.ms/vs/16/release/vs_BuildTools.exe
- Visual Studio 2017 Build Tools 下载:https://aka.ms/vs/15/release/vs_BuildTools.exe
Visual Studio 生成工具 安装后,需要重启电脑。
解决了前置依赖条件和编译环境后,打开 x64 Native Tools Command Prompt for VS 2017
或 x64 Native Tools Command Prompt for VS 2019
,执行以下命令,开始克隆 PyTorch3D 0.7.2 版本,同时进行编译和安装:
(synctalk) C:\SyncTalk>set DISTUTILS_USE_SDK=1
pip install "git+https://github.com/facebookresearch/pytorch3d.git@v0.7.2"
编译并且安装成功后,我们验证一下是否可用:
(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
。
在Windows平台使用源码编译和安装PyTorch3D指定版本的更多相关文章
- Ubuntu 环境 TensorFlow (最新版1.4) 源码编译、安装
Ubuntu 环境 TensorFlow 源码编译安装 基于(Ubuntu 14.04LTS/Ubuntu 16.04LTS/) 一.编译环境 1) 安装 pip sudo apt-get insta ...
- ubuntu系统wireshark源码编译与安装
官网:https://www.wireshark.org/ 官方文档:Wireshark · Documentation 一 介绍 wireshark[1]是一款抓包工具.wireshark的GUI( ...
- Windows平台下源码分析工具
最近这段时间在阅读 RTKLIB的源代码,目前是将 pntpos.c文件的部分看完了,准备写一份文档记录下这些代码的用处.处理过程.理论公式来源.注意事项,自己还没有弄明白的地方.目前的想法是把每一个 ...
- 如何在Windows上从源码编译Chromium (CEF3) 加入mp3支持
一.什么是CEF CEF即Chromium Embeded Framework,由谷歌的开源浏览器项目Chromium扩展而来,可方便地嵌入其它程序中以得到浏览器功能. CEF包括CEF1和CEF3两 ...
- windows中obs源码编译的坑
好用的版本: cmake-3.6.1-win64-x64 + vs2015 + qt-opensource-windows-x86-msvc2015_64-5.7.0 + obs-stu ...
- centos7下源码编译方式安装httpd
前言 Apache至少需要apr.apr-util.pcre组件的支持. APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主 ...
- redhat6.3下源码编译方式安装最新版git
在linux下安装git,通过yum方式安装的不是最新版本. 要替换最新版需要以下操作. 1.安装依赖包 # yum install curl-devel expat-devel gettext-de ...
- [转] ROS2源码编译和安装
机器人开源操作系统软件ROS在10年后, 终于推出全新架构的ROS2,代号“ardent”.中文意思为“热心的美洲鳖”,看来ROS2要从ROS1的“海龟”变成“土鳖”系列了. 与此同时,ROS2的编译 ...
- 源码编译、安装net-snmp的方法和遇到的问题
本文参考地址:http://blog.163.com/qiushuhui1989@126/blog/static/270110892014119113421364/ 1. 源码下载 # wget ht ...
- Linux环境下levelDB源码编译与安装
1.下载源码并编译 git clone https://github.com/google/leveldb.git cd leveldb //编译源码的时候需要安装cmake,并且版本需要大于3.9, ...
随机推荐
- redis如何实现主从同步
redis实现主从同步分为两种:全量同步和增量同步:第一次连入集群的slave需要进行全量同步,那些断开后重连的slave需要进行增量同步 每个redis都有自己的replid,他们是master的标 ...
- 这本vue3编译原理开源电子书,初中级前端竟然都能看懂
前言 众所周知vue提供了很多黑魔法,比如单文件组件(SFC).指令.宏函数.css scoped等.这些都是vue提供的开箱即用的功能,大家平时用这些黑魔法的时候有没有疑惑过一些疑问呢. 我们每天写 ...
- 【HbuilderX】解决苹果手机不能连接Win10问题
从微软商店上下载Itunes 只要这个Itunes能识别Iphone,HbuilderX也可以识别Iphone 如果之前已经装了其他来源下载的Iphone,先卸载掉,然后重启系统安装 另外: 还有一种 ...
- 【BatchProgram】工作用的小工具 - 自动访问常用页面
需求: 我需要打开很多页面,但是忘了收藏的话,每次都要重新去找一遍打开 页面很多,不是一两个了,为什么这么多?因为开发情况就是这样啊: 正式生产一个页面,UAT测试一个页面,本地调试一个页面 每日工作 ...
- PyTorch视觉模型库torchvision.models介绍
安装pytorch时我们一般都是会一并选择安装自带的视觉模型库 torchvision , 该库不仅有经典的视觉模型结构同时还提供了对应参数的下载功能,可以说torchvision库是十分方便于研究 ...
- gym.ObservationWrapper使用时的注意点——reset和step函数可以覆盖observation函数
记录一个刚学习到的gym使用的点,就是gym.ObservationWrapper使用时的注意点--reset和step函数可以覆盖observation函数. 给出代码: import gym cl ...
- centos 7 安装 flask
最近 Python 特别火,尤其是在人工智能和大数据分析方面,更是如火如荼.正好放假有空就简单看了下Python 先从熟悉的地方入手,那就从web框架开始学学吧. 首先,官方给了安装方法:http:/ ...
- ×被替换成x 的解决办法
今天写代码遇到一个很有趣的问题: 在php中使用echo 输出url的时候当url中包含×字段时就会被html直接解析成 x (乘号)这样一来我返回的地址就不能正常访问url了: 解 ...
- SMU Spring 2023 Contest Round 3(2023年湘潭大学新生赛)
Problem A. 签到啦 从大到小排序,累加大于行李w时输出下标即可 int ans; void solve() { cin >> n >> m; int ans = 0; ...
- 微服务全链路跟踪:grpc集成jaeger
微服务全链路跟踪:grpc集成zipkin 微服务全链路跟踪:grpc集成jaeger 微服务全链路跟踪:springcloud集成jaeger 微服务全链路跟踪:jaeger集成istio,并兼容u ...