pytorch3d对于pytorch和cuda的要求很严苛,在安装的过程中遇到了不少坑这里记录一下
1. 安装pytorch
nvcc -V看下自己的cuda版本,根据该版本去pytorch官网找命令https://pytorch.org/get-started/previous-versions/, 比如我使用的是1.8.1+cuda11.1
pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
然后验证下能不能成功import
python
import torch
torch.cuda.is_available () # 返回True则正确
2. 安装pytorch3d
我尝试过用conda install, pip Install 都不行,因为这样会下载最新版的pytorch3d(0.7.0),这个最新版的依赖版本很高,就会与之前的冲突。目前观测到pytorch3d 0.6.2适合cuda11.0+, pytorch3d0.5.0适合cuda0.10.2
为了方便选择版本,我直接从release下载了pytorch3d-0.6.2到服务器上,然后运行:
cd pytorch3d-0.6.2
pip install -e .
验证下是否能成功import
import pytorch3d
from pytorch3d.ops import knn_points
3. 可能的报错
- pytorch3d-0.6.2/pytorch3d/_C.cpython-38-x86_64-linux-gnu.so: undefined symbol: _ZN6caffe28TypeMeta21_typeMetaDa taInstanceIN3c107complexIfEEEEPKNS_6detail12TypeMetaDataEv. 可能是之前在这里pytorch3d-0.6.2编译过其它版本的pytorch。 方法:重新从官网下载一份pytorch3d-0.6.2,按照第2小节的步骤重新编译
4. 感悟
某些大型的库的版本经常会与时俱进不断更新,而我们往往只需要较低的版本,这时候选择合适的版本下载到本地自行安装是个解决的方向。