参考教程(19条消息)ubuntu16.04下Detectron+caffe2(Pytorch)安装配置过程_张家坎的博客-CSDN博客_caffe2_detectron_ops_gpu.dll
https://blog.csdn.net/u014236392/article/details/81117287 安装caffe2
执行sudo make install之后遇到如下问题:
/home/Xdn/cuda-10.0/lib64/libcudnn.so: file not recognized: File truncated
collect2: error: ld returned 1 exit status
caffe2/CMakeFiles/torch_cuda.dir/build.make:264057: recipe for target 'lib/libtorch_cuda.so' failed
make[2]: *** [lib/libtorch_cuda.so] Error 1
CMakeFiles/Makefile2:4032: recipe for target 'caffe2/CMakeFiles/torch_cuda.dir/all' failed
make[1]: *** [caffe2/CMakeFiles/torch_cuda.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
解决思路:直接在网上搜这个错误没有搜到解决方式,自己分析应该是/home/Xdn/cuda-10.0/lib64/libcudnn.so出现问题,libcudnn.so文件是安装cudnn时复制进来的,查看路径下该文件发现该文件大小为0,双击打开也是空白,源cudnn文件中的该文件也是如此,于是搜libcudnn.so的解决方法,发现这一篇博客:
【转载】etc/ld.so.conf的使用说明 libcudnn.so.5 is not a symbolic link - 简书
//www.greatytc.com/p/4de6fbefb644
这篇博客中针对另一个libcudnn.so文件的问题,我从中发现原来libcudnn.so文件只是一个快捷方式,其链接的应该是其他名称类似libcudnn.so.*的文件,于是根据自己路径下的文件创建了下面两个链接:
(py3.6DensePose) Xdn@xwfx:~/cuda-10.0/lib64$ sudo ln -sf libcudnn.so.7.6.5 libcudnn.so.7
(py3.6DensePose) Xdn@xwfx:~/cuda-10.0/lib64$ sudo ln -sf libcudnn.so.7 libcudnn.so
此时双击libcudnn.so文件不是空白了(我这里是乱码显示的文件,但是没关系,不为空就说明链接有效了)
然后再回到之前安装pytorch时的路径执行sudo make install,问题解决。
喜大普奔!才发现这个问题原来这么小,回想自己当时尝试了一个小时没解决就差点把我小心态整崩了,现在想想冷静的分析问题、乐观的心态对于计算机调BUG真的是需要的~感谢源up主!