The third-party dynamic library (libcuda.so) that Paddle depends on is not configured correctly.难题解决

前言:咱首先来看一下报错信息好吧,如下:

Running verify PaddlePaddle program
I1112 19:27:37.248370 2615955 interpretercore.cc:237] New Executor is Running.
W1112 19:27:37.248539 2615955 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 12.2, Runtime API Version: 11.7
W1112 19:27:37.249217 2615955 gpu_resources.cc:149] device: 0, cuDNN Version: 8.9.
W1112 19:27:38.075939 2615955 dynamic_loader.cc:303] The third-party dynamic library (libcuda.so) that Paddle depends on is not configured correctly. (error code is libcuda.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;
简而言之,就是说缺少这个东西 libcuda.so (好像是属于CUDA的一个文件什么的),好,那我们开始步入正题:

一、不断的 尝试/试错 之路(真的!踩了好多坑!!)

1、最开始我一直以为是CUDA的版本 与 PaddlePaddle的版本不适配造成的

因为我的环境显卡驱动是CUDA12.2 ,然后 PaddlePaddle的官方最多只支持到 CUDA12.0。(如下图所示)这让我一度非常的头疼,难道我就只能降低CUDA的版本这一唯一的办法?

在这里插入图片描述在这里插入图片描述
后面还是根据报错信息查了好多博客,看根据报错的信息进行操作能否解决问题:结果试了几天,用了Export 以及 cp libsuda.so 的一些命令,都是无济于事,于是又开始纠结应该是版本的适配问题。

2、既然还认为是版本不适配的问题,那就把与PaddlePaddle适配的其他CUDA版本都试一遍

把CUDA11.7, CUDA10.2,CUDA11.2…等都试了一遍,结果还是不行,并且发现下载适配较低版本的CUDA,报的错还不一样,服了,那就只有停滞一段时间了

3、但是过几天就要展示实验了,用CPU跑速度慢就算了,还经常出现中断的问题

就是完成跑不了一点,然后去请教了实验室的师姐,看她有没有安装过,他说CUDA的高版本是兼容低版本的,大概率不是版本的适配问题,于是听了她的话后又开始重新振作起来了,继续搞!!

4、这里附上几个我参考的连接,我也是认真研读分析了

(1)The third-party dynamic library (libcudnn.so) that Paddle depends on is not configured correctly
(2)The third-party dynamic library (libcudnn.so) that Paddle depends on is not configured correctly(第2个版本)
(3)Paddle is not configured correctly cannot open shared object file: No such file or directory
(4)The third-party dynamic library (libcudnn.so) that Paddle depends on is not configured correctly.(error code is /usr/local/cuda/lib64/libcudnn.so: cannot open shared object file: No such file or directory)

(5)The third-party dynamic library #7089
(6)【解决paddle运行错误-libcuda.so软链接问题】The third-party dynamic library (libcuda.so) that Paddle depends

5、结果发现(1)-(4) 全部在说少了 libcudnn.so, 而我少的是 libcuda.so !!!这里一定要看清楚啊

然后他们做的无非也就是 findExport 操作,那么我想, 同样的问题也可以用到 libcuda.so 上吧,于是也折磨了一番,NO!还是不行啊

6、然后找到(5),(6)两篇博客,他们与我的问题是一致的,按照他们的来呗,那就。结果就是(5)不行,(6)行,哇塞!成功后的样子如下:

在这里插入图片描述

二、属于我的正确的,解决问题的操作流程如下(大家的造成报错的原因可能不同,所以用我的流程不一定正确)

1、首先查看本地的 libcuda.so 的路径

使用如下命令:

locate libcuda.so

得到如下结果:
在这里插入图片描述

2、开始进行软链接(按照以上博客(6)中的操作)

我这边输入的命令如下:

sudo ln -s /usr/lib/x86_64-linux-gnu/libcuda.so.1 /usr/lib/x86_64-linux-gnu/libcuda.so

然后问题得到了完美的解决!!!(这张成功的图片再播放一遍)
在这里插入图片描述

结语:朋友们,如果根据以上的操作来不能解决问题,多看其他博客提供的解决办法,多去尝试,祝你早日成功配置好自己需要的环境!!!
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 这个错误提示表明 PaddlePaddle 需要依赖的一个名为 cudnn64_7.dll 的第三方动态库没有被正确地配置。错误代码 126 表示在尝试加载这个库时发生了一个错误。 解决这个问题的方法取决于你的操作系统和安装环境。以下是一些可能有用的建议: 1. 确认已经正确安装了 CUDA 和 cuDNN,并且它们的版本与 PaddlePaddle 所需的版本匹配。 2. 确认系统环境变量已经正确设置,包括 PATH 和 LD_LIBRARY_PATH。具体而言,确保 CUDA 和 cuDNN 的路径已经被添加到这些变量中。 3. 如果你是在 Windows 上使用 PaddlePaddle,尝试将 cudnn64_7.dll 复制到 PaddlePaddle 安装目录下的 bin 目录中。通常情况下,这个目录的路径类似于 C:\Program Files\PaddlePaddle\bin。 4. 如果你使用的是 Anaconda 环境,尝试在 Anaconda Prompt 中输入以下命令:conda install cudatoolkit=xx.x cudnn=xx.x -c paddle。其中的 xx.x 是你正在使用的 CUDA 和 cuDNN 版本号。 如果以上方法无法解决问题,建议在 PaddlePaddle 的官方论坛或 GitHub 上寻求帮助。 ### 回答2: 这个错误是因为PaddlePaddle的一个第三方库cudnn64_7.dll没有配置正确所引起的。cudnn是NVIDIA的一个专门用于深度神经网络的库,它提供了高效的计算和内存管理,能够大幅提高深度神经网络的训练和推断效率。PaddlePaddle对cudnn的依赖非常重要,如果cudnn配置不正确就会出现运行时错误。 首先,我们可以检查cudnn库的路径是否正确。在PaddlePaddle的配置文件中,需要设置cudnn库的路径,确保PaddlePaddle能够正确找到它。例如,在Windows系统中,可以在环境变量中设置CUDA_HOME和CUDNN_HOME这两个变量,它们分别指向CUDA和cudnn的安装目录。在Linux系统中,可以编辑bashrc文件,添加对应的路径。当PaddlePaddle引用cudnn库时,会自动在这些路径下寻找cudnn库。 其次,我们可以检查cudnn库的版本是否正确。PaddlePaddle对不同版本的cudnn库有不同的要求,如果版本不对就会出现错误。在PaddlePaddle的官网上可以找到不同版本cudnn库的要求。在更新cudnn库时,需要注意版本的兼容性,不要将不兼容的版本强行安装。 最后,我们也可以考虑重新安装PaddlePaddle和cudnn库。有时候,由于其他原因导致PaddlePaddle和cudnn的配置出现错误,重新安装可以解决问题。在重新安装时,需要确保所有依赖库的版本和配置都是正确的,并且按照官方指南进行操作。 总之,当出现runtimeerror: (preconditionnotmet) the third-party dynamic library (cudnn64_7.dll) that paddle depends on is not configured correctly. (error code is 126)这个错误时,需要检查cudnn库的路径和版本是否正确,并考虑重新安装PaddlePaddle和cudnn库。 ### 回答3: 这个错误信息是PaddlePaddle深度学习框架在加载cudnn64_7.dll动态库时发现了问题,错误代码是126。cudnn64_7.dll是一个用于加速GPU计算的第三方动态库,在使用PaddlePaddle训练深度学习模型时需要依赖它。出现这个错误通常可能是以下两种情况之一: 1. cudnn64_7.dll文件不存在或已损坏。 解决方案:可以尝试重新安装CUDA和cudnn库。首先检查CUDA和cudnn的版本是否匹配,然后下载对应版本的cudnn库并将其解压到CUDA库的相应目录中。如果已经安装了正确版本的cudnn库,可以尝试重新安装CUDA并选择添加cudnn库选项来修复问题。 2. cudnn64_7.dll文件路径未正确配置。 解决方案:检查CUDA和cudnn的环境变量是否正确设置,确保它们的路径被正确添加到系统的环境变量中。另外,也可以在PaddlePaddle的命令行参数中添加CUDA和cudnn的路径来指定它们的位置。 总的来说,如果遇到这个错误,最好先检查CUDA和cudnn的版本是否匹配并确认环境变量设置是否正确。如果问题仍然存在,可以重新安装CUDA和cudnn库来解决

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值