最近在部署 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 账号跳转到订阅服务页面,普通订阅也获取不到可用的下载地址。

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

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

解决了前置依赖条件和编译环境后,打开 x64 Native Tools Command Prompt for VS 2017x64 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指定版本的更多相关文章

  1. Ubuntu 环境 TensorFlow (最新版1.4) 源码编译、安装

    Ubuntu 环境 TensorFlow 源码编译安装 基于(Ubuntu 14.04LTS/Ubuntu 16.04LTS/) 一.编译环境 1) 安装 pip sudo apt-get insta ...

  2. ubuntu系统wireshark源码编译与安装

    官网:https://www.wireshark.org/ 官方文档:Wireshark · Documentation 一 介绍 wireshark[1]是一款抓包工具.wireshark的GUI( ...

  3. Windows平台下源码分析工具

    最近这段时间在阅读 RTKLIB的源代码,目前是将 pntpos.c文件的部分看完了,准备写一份文档记录下这些代码的用处.处理过程.理论公式来源.注意事项,自己还没有弄明白的地方.目前的想法是把每一个 ...

  4. 如何在Windows上从源码编译Chromium (CEF3) 加入mp3支持

    一.什么是CEF CEF即Chromium Embeded Framework,由谷歌的开源浏览器项目Chromium扩展而来,可方便地嵌入其它程序中以得到浏览器功能. CEF包括CEF1和CEF3两 ...

  5. windows中obs源码编译的坑

    好用的版本: cmake-3.6.1-win64-x64  +  vs2015  + qt-opensource-windows-x86-msvc2015_64-5.7.0   +   obs-stu ...

  6. centos7下源码编译方式安装httpd

    前言 Apache至少需要apr.apr-util.pcre组件的支持. APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主 ...

  7. redhat6.3下源码编译方式安装最新版git

    在linux下安装git,通过yum方式安装的不是最新版本. 要替换最新版需要以下操作. 1.安装依赖包 # yum install curl-devel expat-devel gettext-de ...

  8. [转] ROS2源码编译和安装

    机器人开源操作系统软件ROS在10年后, 终于推出全新架构的ROS2,代号“ardent”.中文意思为“热心的美洲鳖”,看来ROS2要从ROS1的“海龟”变成“土鳖”系列了. 与此同时,ROS2的编译 ...

  9. 源码编译、安装net-snmp的方法和遇到的问题

    本文参考地址:http://blog.163.com/qiushuhui1989@126/blog/static/270110892014119113421364/ 1. 源码下载 # wget ht ...

  10. Linux环境下levelDB源码编译与安装

    1.下载源码并编译 git clone https://github.com/google/leveldb.git cd leveldb //编译源码的时候需要安装cmake,并且版本需要大于3.9, ...

随机推荐

  1. 商业级java开发单体项目环境搭建

    写在开发前,端口经常被战占,windows10用以下命令先查先杀,netstat -aon | findstr "8080" taskkill /F /PID <PID> ...

  2. FindBugs质量管理

    1. FindBugs是什么 FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题.有了静态分析工具,就可以在不实际运行程序的情况对软件进行 ...

  3. python none类型

    一.python中的数据类型:数值类型.序列类型.散列类型. 1.数值类型:整数型(int).浮点数(float).布尔值(bool) 2.序列类型(有序的):序列类型数据的内部元素是有顺序的,可以通 ...

  4. linux终端alacritty导致计算机死机的解决方式——Ubuntu18.04系统Nvidia显卡

    如题所述,近日在自己Ubuntu18.04的系统上安装了alacritty终端,安装这个终端主要原因就是可以出现透明桌面,说白了就是漂亮,beautiful,但是这个终端安装后系统就变得极不稳定,经常 ...

  5. vue项目之登录功能

    1.背景 在上一节的学习中我们基本上完成了登录的表单输入框界面如下: 代码: <!-- 输入框--> <el-form label-width="0px" cla ...

  6. [简单] 树上的dfs & bfs_洛谷P5908 猫猫和企鹅

    题目链接https://www.luogu.com.cn/problem/P5908 题目大意: \[\begin{align*} & 给定n个点构成一颗树 每条边val=1\\ & ...

  7. Java开发环境安装笔记

    目录 JDK的版本 Java 8 Java 9 Java 11 (LTS) Java 17 (LTS) Java 21 JDK的环境变量设置 JAVAHOME 和 PATH 环境变量 JAVAPATH ...

  8. 使用Typora编写后的md文件优雅的上传到博客(插件dotnet-cnblog的使用)

    一.Typora的设置 如下图,设置图片上传位置 之后文章上的图片都会临时存放到文件同级目录下的xxx.Asster文件夹下面. 二.下载插件dotnet-cnblog 1.安装.Net Core S ...

  9. 能否自定义一个String类使用

    先说下结论,可以自定义包名不为java.lang的String类,区别包名是可以正常使用的. 包名不为java.lang package com.seven.jvm; public final cla ...

  10. LaTeX 插入伪代码

    使用 algorithm 包和 algpseudocode 包 algorithm 包 用途: 提供一个浮动体环境来包含算法(类似于 figure 和 table 环境),使得算法可以自动编号并出现在 ...