Pytorch3D Linux环境下安装(踩坑)记录

文章目录

前言

一、准备工作

二、极简安装(Installing prebuilt binaries)

1.创建环境

2.安装Pytorch

3.安装两个核心库

4.(非必要)Tests/Linting and Demos 相关

5.安装Pytorch3D

三、手动安装(Building from source)

1.创建环境

2.安装Pytorch

3.安装两个核心库(手动安装)

4.安装CUB libaray

5.(非必要)Tests/Linting and Demos 相关

6.安装Pytorch3D(手动Build)

总结


前言

因为代码迁移,在多个的环境下都安装过Pytorch3D。但是由于gcc、CUDA版本等问题,有的环境安装十分顺利,有的耗费了大量时间,这里我把遇到的各种情况(多种方法)都记录下来。

Pytorch3D官方指南如下:

pytorch3d/INSTALL.md at main · facebookresearch/pytorch3d · GitHub

其中内容写的还是大致清晰的,但是在有些地方写的比较冗杂,实际操作上并没有那么多内容。


一、准备工作

官网给出了很多准备要求,在我的实际操作中(两种安装方式 installing prebuilt binaries / building from source),主要受到了以下限制:

1. gcc版本不宜过高,否则很可能在自己build Pytorch3D时出现各种各样的问题(我在使用9.x版本build时失败),个人推荐7.5(Pytorch3D官方要求gcc & g++ ≥ 4.9,对于Ubuntu 16.04默认gcc可能过低或现有gcc过高的情况,下载合适的gcc版本切换优先级即可)

2. CUDA版本尽量选择高版本,9.x有可能找不到合适的prebuilt 版本,个人推荐10.2

3. 在整个安装过程中版本之间限制比较繁杂,并且考虑到网络问题,个人成功配置(均在Ubuntu 16.04环境下)是

Installing prebuilt binaries: python=3.8 + pytorch=1.7.1 + cuda=10.2 + gcc=7.5 + pytorch3d=0.6.1 (conda 安装)

Building from source: python=3.8 + pytorch=1.6.0 + cuda=10.2 + gcc=7.5 + pytorch3d=0.6.1 (git clone 下载)

二、极简安装(Installing prebuilt binaries)

如果一切顺利(但愿),这就是最便捷的安装方法。

1.创建环境

命令如下:

conda create -n pytorch3d python=3.8
conda activate pytorch3d

2.安装Pytorch

命令如下:

conda install -c pytorch pytorch=1.7.1 torchvision cudatoolkit=10.2

顺便把Pytorch安装版本库贴在这里:

Previous PyTorch Versions | PyTorch

3.安装两个核心库

命令如下:

conda install -c fvcore -c iopath -c conda-forge fvcore iopath

如果安装出现问题可以看第三节手动安装。

4.(非必要)Tests/Linting and Demos 相关

# Demos and examples
conda install jupyter
pip install scikit-image matplotlib imageio plotly opencv-python

# Tests/Linting
pip install black 'isort<5' flake8 flake8-bugbear flake8-comprehensions

5.安装Pytorch3D

# Anaconda Cloud
conda install pytorch3d -c pytorch3d

如果没有找到合适的,可以试试nightly版本

conda install pytorch3d -c pytorch3d-nightly

一般来讲,如果以上方式中conda在搜索时找不到合适的Pytorch3D prebuilt库(当然也可以试试官网中的pip 和 wheel安装),那就不要浪费时间解决问题直接选择自己build from source。

三、手动安装(Building from source)

如果出现了各种问题,可以试试以下方法。

1.创建环境

同第二节。

2.安装Pytorch

同第二节。

3.安装两个核心库(手动安装)

命令如下:

iopath

git clone https://github.com/facebookresearch/iopath
​​pip install -e iopath

fvcore

git clone https://github.com/facebookresearch/fvcore
pip install -e fvcore

手动安装在打包环境时可能不能迁移:

xxx$ conda pack -n pytorch3d
Collecting packages...
CondaPackError: Cannot pack an environment with editable packages
installed (e.g. from `python setup.py develop` or
 `pip install -e`). Editable packages found:

- /xx/fvcore
- /xx/iopath

4.安装CUB libaray

命令如下:

conda install -c bottler nvidiacub

手动安装方法不再赘述。 

5.(非必要)Tests/Linting and Demos 相关

同第二节。 

6.安装Pytorch3D(手动Build)

直接选择git clone到本地

git clone https://github.com/facebookresearch/pytorch3d.git

通过pip安装

cd pytorch3d
pip install -e .

通过setup.py安装

cd pytorch3d
python3 setup.py install

安装需要一点时间,如果中途不报错应该没有太大问题,如果build出现问题可以尝试更改gcc版本。

另外,可以使用官网的test命令测试build成功与否

cd pytorch3d/tests
python3 -m unittest discover -p *.py

总结

安装Pytorch3D一定不要总认准一个方法,实在不行就赶快换另一种安装方式节省时间,debug是永远弄不完的。推荐顺序肯定是先Installing prebuilt binaries再试Building from source

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐