目录
错误信息
W0622 15:00:12.455324 5194 device_context.cc:252] Please NOTE: device: 0, CUDA Capability: 50, Driver API Version: 10.1, Runtime API Version: 10.0
W0622 15:00:12.457255 5194 init.cc:216] Warning: PaddlePaddle catches a failure signal, it may not work properly
W0622 15:00:12.457265 5194 init.cc:218] You could check whether you killed PaddlePaddle thread/process accidentally or report the case to PaddlePaddle
W0622 15:00:12.457269 5194 init.cc:221] The detail failure signal is:
W0622 15:00:12.457274 5194 init.cc:224] *** Aborted at 1592809212 (unix time) try "date -d @1592809212" if you are using GNU date ***
W0622 15:00:12.458534 5194 init.cc:224] PC: @ 0x0 (unknown)
W0622 15:00:12.458623 5194 init.cc:224] *** SIGSEGV (@0x0) received by PID 5194 (TID 0x7fe6aeb1e740) from PID 0; stack trace: ***
W0622 15:00:12.459789 5194 init.cc:224] @ 0x7fe6ae70c890 (unknown)
W0622 15:00:12.460836 5194 init.cc:224] @ 0x0 (unknown)
...
----------------------
Error Message Summary:
----------------------
Error: Cannot load cudnn shared library. Cannot invoke method cudnnGetVersion at (/paddle/paddle/fluid/platform/dynload/cudnn.cc:63)
问题分析
cuda和cudnn的版本是没问题的,估计是安装它们的时候有些步骤跳过所以引发这个Bug。根据Error的描述可以知道是libcudnn和libcublas的软连接没有添加到shared library中。
解决方案
第一步 查看shared library中有没有libcudnn.so和libcublas.so
在终端中输入ls /usr/lib |grep lib
,可以看到shared library中并没有libcudnn.so和libcublas.so。
第二步 找到libcudnn.so和libcublas.so的位置
输入locate libcudnn.so
和locate libcublas.so
第三步 在shared library中创建libcudnn.so和libcublas.so
注意创建软连接的时候源文件地址一定不能填错,根据第二部所得的路径创建它们的软连接。
1、进入/usr/lib文件夹
cd /usr/lib
2、创建libcudnn.so和libcublas.so
sudo ln -s /home/haoluo/Downloads/cuda/lib64/libcudnn.so.7.6.4 libcudnn.so
sudo ln -s /home/haoluo/anaconda3/lib/libcublas.so.10.2.1.243 libcublas.so
3、检查是否创建成功并运行程序
ls /usr/lib |grep lib
程序正常运行:
如果对您有帮助的话,希望大家点个赞鼓励鼓励,嘻嘻!