为了运行maskrcnn,发现出了pytorch1.0版的,精度更高,所以打算试试,但在安装pytorch1.0是出现了以下两个问题:
(1)site-packages/torch/lib/libtorch.so.1: undefined symbol: _ZTIN2at10TensorImplE”
查了很久,有的网友说是cudnn的版本低,因此把cudnn的升级到了cudnn7.4。
升级方法:
删除原来的cudnn
sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*
下载cudnn:
Nvidia-cudnn官网
https://developer.nvidia.com/cuDNN
下载linux .tgz版本。
安装安装需要版本的cudnn:
sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp lib64/lib* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
(2)libtorch.so.1: undefined symbol: _ZTI N2at11TypeDefaultE
之前安装过caffe2,一个网友说 (https://discuss.pytorch.org/t/pytorch-1-0-installation-via-conda-cpu-version-undefined-symbol/32078/9)在/usr/local/lib下存在libcaffe2.so 等以libcaffe2开头的.so文件,把这些文件删除。
然后进入maskrcnn环境:
>>> import torch
>>> print(torch.__version__)
1.0.0.dev20190109
成功了。
如果之前安装过caffe2,直接先试一下(2)的解决方法。
如果没有安装caffe2,可是先试一下(1)的解决方法。