Pytorch3D Linux环境下安装(踩坑)记录
文章目录
前言
因为代码迁移,在多个的环境下都安装过Pytorch3D。但是由于gcc、CUDA版本等问题,有的环境安装十分顺利,有的耗费了大量时间,这里我把遇到的各种情况(多种方法)都记录下来。
Pytorch3D官方指南如下:
pytorch3d/INSTALL.md at main · facebookresearch/pytorch3d · GitHub
其中内容写的还是大致清晰的,但是在有些地方写的比较冗杂,实际操作上并没有那么多内容。
一、准备工作
官网给出了很多准备要求,在我的实际操作中(两种安装方式 installing prebuilt binaries / building from source),主要受到了以下限制:
gcc版本不宜过高,否则很可能在自己build Pytorch3D时出现各种各样的问题(我在使用9.x版本build时失败),个人推荐7.5(Pytorch3D官方要求gcc & g++ ≥ 4.9,对于Ubuntu 16.04默认gcc可能过低或现有gcc过高的情况,下载合适的gcc版本切换优先级即可)
CUDA版本尽量选择高版本,9.x有可能找不到合适的prebuilt 版本,个人推荐10.2
在整个安装过程中版本之间限制比较繁杂,并且考虑到网络问题,个人成功配置(均在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。
版权归原作者 帕斯卡多 所有, 如有侵权,请联系我们删除。