微信公众号:leetcode_algos_life,代码随想随记
小红书:412408155
CSDN:https://blog.csdn.net/woai8339?type=blog
抖音【暂未开始,计划开始】:tian72530
知乎【暂未开始,计划开始】:happy001
【CSDN放二维码违规,222333】
【问题描述】
安装完paddle
之后,
import paddle
paddle.utils.run_check()
之后,报错,报错信息如下:
The third-party dynamic library (libcudnn.so) that Paddle depends on is not configured correctly. (error code is libcudnn.so: cannot open shared object file: No such file or directory)
Suggestions:
1. Check if the third-party dynamic library (e.g. CUDA, CUDNN) is installed correctly and its version is matched with paddlepaddle you installed.
2. Configure third-party dynamic library environment variables as follows:
- Linux: set LD_LIBRARY_PATH by `export LD_LIBRARY_PATH=...`
- Windows: set PATH by `set PATH=XXX;
【解决方案】
安装paddle执行点击安装命令:
python3 -m pip install paddlepaddle-gpu==2.5.1.post117 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
看错误信息提示,无法找到cudnn。
我们三步走:
(一)查看当前环境下是否可以找到cudnn安装目录
cd 虚拟环境路径(比如 /root/conda/envs/paddle_paddle)
ls lib/ | grep cudnn
ls include/ | grep cudnn
发现输出是空,因此,需要先安装cudnn。(如果有,直接到步骤(三))
(二)安装cudnn
执行以下两行命令,顺序不可颠倒。
1、conda install -c nvidia cudatoolkit -n <虚拟环境名称,比如,paddle_paddle>
2、conda install cudnn -n <虚拟环境名称,比如,paddle_paddle>
再返回步骤(一)进行check,发现均有结果了。
执行命令1的结果如下:
执行命令2的结果如下:
(三)、查看路径并执行
经过步骤二之后,先测试下是否正常,如果正常就直接跳过。
如果不正常,依然是和之前问题一样,进行如下步骤修正:
推断是因为环境变量没有弄好。
执行路径查找命令看是否有cudnn的查找路径(该查找路径即是步骤一中的include和lib路径):
echo $PATH
echo $LD_LIBRARY_PATH
博主第二个输出结果为空。
因此,进行当前环境下回写路径命令:
conda env config vars set LD_LIBRARY_PATH=$LD_LIBRARY_PATH:步骤一中的include路径(比如/root/conda/envs/paddle_paddle/include):步骤一中的lib路径(比如,/root/conda/envs/paddle_paddle/lib)
这里的conda env config vars set 会将系统的$LD_LIBRARY_PATH环境变量回写并覆盖掉,并且只影响当前的paddle_paddle虚拟环境。
然后,需要退出当前虚拟环境并重新进入。
conda deactivate
conda activate paddle_paddle
再次进行检查,运行无误。
【检查】
>>> import paddle
>>>paddle.utils.run_check()
Running verify PaddlePaddle program ...
PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.
>>>