Could not load library libcudnn_cnn_train.so.8, 解决类似问题的思路与方法

完整报错

Could not load library libcudnn_cnn_train.so.8. Error: /home/ai/anaconda3/envs/ai/bin/../lib/libcudnn_ops_train.so.8: undefined symbol: _ZN5cudnn3ops26JoinInternalPriorityStreamEP12cudnnContexti, version libcudnn_ops_infer.so.8

错误原因

  该错误其实非常常见,属于小白常遇见的初级环境问题,不必太担心。此类报错基本是C++动态库丢失或者链接不上,只需要重新下载或者链接一下即可解决该类型报错。(保姆级教程,请一定耐心看完。)

分析报错信息

 其实报错中也写的很明确了,报错告诉我们不能加载libcudnn_cnn_train.so.8 这个动态库。然而,一般安装环境C++动态库是默认安装在/usr/local/路径下,当然有些读者有良好的习惯肯定会自己新建一个独立空的文件夹来存储这些依赖库,不过都可以用一下指令来找到所需要的动态库。

ldconfig -p | grep + 需要查到的库或者文本

 那我们需要找的是报错中链接不上的libcudnn_cnn_train.so.8 ,那我们就需要在终端输入

ldconfig -p | grep libcudnn_cnn_train.so.8

 执行后可以看见红色框是它的路径:
在这里插入图片描述
 还可以使用ldd指令来看链接的动态库有哪些,将上一步的路径给复制下来:

ldd /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8

 结果如下图:
在这里插入图片描述
 至此,我们大概明白了这个报错信息给我们了一些提示,要解决这个问题,就需要看报错中的第二句Error: /home/ai/anaconda3/envs/ai/bin/../lib/libcudnn_ops_train.so.8,就是我们要用这个路径下的依赖库,但是无法加载,因为上述可以用指令查到有这个库(没有的就需要安装环境了),但是报错却说找不到,原因是因为它没有链接正确

解决报错

要正确链接库很简单, 用ln -sf指令既可。
首先,我们需要找到错的库文件的安装路径以及版本,还是上述步骤查找出来的路径,但是在最后加上*号用于查看安装的版本。

ls /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_cnn_train*

找到这个动态可的绿颜色的可执行文件:
在这里插入图片描述
然后用ln -sf + 绿颜色的可执行文件 + 报错信息中的路径 ,就可以链接上库了。

sudo ln -sf /usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_ops_train.so.8.6.0 /home/ai/anaconda3/envs/ai/bin/../lib/libcudnn_ops_train.so.8

成功解决报错的训练截图

在这里插入图片描述

  • 8
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
引用:Could not load library libcudnn_cnn_infer.so.8. Error: libcuda.so: cannot open shared object file: No such file or directory。 这个错误提示表明在加载libcudnn_cnn_infer.so.8库时出现了问题,提示找不到libcuda.so共享对象文件。 这个错误通常与CUDA和cuDNN库相关。libcuda.so是CUDA库的一部分,而libcudnn_cnn_infer.so.8是cuDNN库的一部分。这些库是深度学习框架(如PyTorch)依赖的重要组件。 出现这个错误的原因可能是CUDA或cuDNN库没有正确安装或配置。可能需要检查CUDA和cuDNN的版本是否匹配,并确保正确地安装和配置了这些库。还要确保CUDA和cuDNN的路径正确地添加到LD_LIBRARY_PATH环境变量中。 可以通过运行以下命令来检查CUDA和cuDNN的安装情况: nvcc --version cat /usr/local/cuda/version.txt 可以通过以下命令来检查LD_LIBRARY_PATH环境变量是否包含CUDA和cuDNN的路径: echo $LD_LIBRARY_PATH 如果路径不正确或缺失,可以通过以下方式进行设置(以适应您的系统): export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/path/to/cudnn/lib:$LD_LIBRARY_PATH 请注意,以上命令中的路径应该根据您的系统和库的安装位置进行相应修改。 如果问题仍然存在,可能需要重新安装CUDA和cuDNN,确保按照官方文档的指导进行正确的安装和配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Could not load library libcudnn_cnn_infer.so.8. Error: libcuda.so: cannot open shared object file](https://blog.csdn.net/qq_42770218/article/details/130549551)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Could not load library libcudnn_cnn_infer.so.8.错误解决](https://blog.csdn.net/weixin_42236469/article/details/128054728)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

锦鲤AI幸运

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值