Ubuntu下给CuDNN降级

本文介绍了当使用TensorFlow遇到CuDNN版本不匹配错误时的解决方案。通过卸载现有CuDNN并重新安装与代码匹配的版本来解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.报错信息

tensorflow/stream_executor/cuda/cuda_dnn.cc:378] Loaded runtime CuDNN library: 7102 (compatibility version 7100) but source was compiled with 7004 (compatibility version 7000).  If using a binary install, upgrade your CuDNN library to match.  If building from sources, make sure the library loaded at runtime matches a compatible version specified during compile configuration.

2.解决思路

根据报错信息给出的内容是主要是从github上弄下来的代码编码使用的CuDNN(7.0.4)版本比安装的版本(7.1.2)低,那么通过对CuDNN进行降级就好。

3.操作内容

主要参考官方文档 ,然后根据安装时所选安装方式卸载CuDNN,当初我选的是dpkg 安装,使用dpkg -r  libcudnn7-doc  libcudnn7-dev libcudnn7,进入~/  目录把例子也给删了,接着按着教程安装两个deb,复制测试样例,最后运行成功。




### 配置 CUDAcuDNN 的详细步骤 在 Ubuntu 系统中正确配置 CUDAcuDNN 是实现 GPU 加速深度学习的关键步骤。以下是详细的指导: #### 1. 查看显卡信息 为了确保安装的驱动程序和 CUDA 版本与显卡兼容,首先需要确认系统的显卡型号。可以通过以下命令获取显卡信息: ```bash lspci | grep VGA ``` 该命令会显示当前计算机使用的图形处理器及其制造商信息[^4]。 #### 2. 卸载旧版 NVIDIA 显卡驱动 如果系统已经安装了旧版本的 NVIDIA 显卡驱动,则需先将其完全卸载以避免冲突。运行以下命令完成卸载过程: ```bash sudo apt-get remove --purge nvidia* sudo apt autoremove ``` 这一步骤能够清理掉之前可能存在的任何残留文件或设置。 #### 3. 安装最新的 NVIDIA 显卡驱动 访问官方 NVIDIA 下载页面 (https://www.nvidia.com/Download/index.aspx),根据实际硬件条件挑选合适的驱动包进行下载并安装。或者也可以利用 PPA 方式自动更新至最新稳定版驱动器: ```bash sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update sudo ubuntu-drivers autoinstall reboot ``` 以上脚本将会扫描本地设备状况,并推荐最适合当前平台需求的最佳选项之一作为默认值来部署新驱动程序。 #### 4. 下载并安装目标版本的 CUDA Toolkit 前往 NVIDIA 官方网站找到适合的操作系统架构下的特定发行号链接地址后执行下列指令序列即可顺利完成整个工具链环境搭建工作流程。 对于大多数现代框架而言建议至少采用较新的主流分支如 `CUDA 11.x` 或更高版本除非有特殊原因才考虑降级使用更早时期的产物比如这里提到过的例子即为其中之一(`CUDA 10.1`)。 注意:请务必仔细阅读每一页上的说明文档因为不同子系列间可能存在细微差异甚至重大改动之处都需要开发者自行调整适应才行哦! ##### 方法A - 使用.run 文件手动安装 从官网上选取对应平台类型的二进制可执行档(.run file),接着依照提示逐步前进直到结束为止. 假设我们已将名为"cublas-tuning-archive-linux-x86_64.tar.xz"这样的压缩档案放置于用户主目录之下那么就可以这样继续下去啦: ```bash cd ~/ tar xf cublas-tuning-archive-linux-x86_64.tar.xz chmod +x cuda*.run sudo ./cuda*.run --override # 如果遇到依赖错误尝试加上--override参数强制覆盖解决部分问题 source ~/.bashrc # 让更改立即生效无需重启shell session nvcc --version # 测试编译器是否正常运作 ``` ##### 方法B - 利用APT仓库快速部署 某些情况下可以直接借助软件源管理机制简化操作难度同时也便于日后维护升级等工作开展起来更加方便快捷些呢! ```bash wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu$(lsb_release -sr|sed 's/\..*//')/x86_64/cuda-keyring_1.0-1_all.deb sudo dpkg -i cuda-keyring_1.0-1_all.deb sudo apt-get update sudo apt-get install -y cuda-toolkit-11-7 # 替换为你想要的具体编号组合形式例如这里是针对Ubuntu20.04 LTS设计好的预设方案而已并非固定不变噢~ ``` #### 5. 设置环境变量PATH与LD_LIBRARY_PATH 为了让系统识别刚安裝完毕的新组件还需要适当修改几个重要的全局路径定义项如下所示: 编辑个人专属启动脚本~/.bashrc追加几行内容进去: ```bash export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH ``` 保存退出后再重新加载一遍刚才所做的变动效果就会显现出来了哟! ```bash source ~/.bashrc echo $PATH # 检查新增加的部分是否存在其中 which nvcc # 应返回/usr/local/cuda/bin/nvcc位置证明有效果咯~ ``` #### 6. 验证CUDA安装状态 最后可通过编写一个小样例验证一下整体功能是否一切顺利无误吧? 创建test.cu文件写入下面这段简单的hello world代码片段试试看呗😊 ```cpp #include <stdio.h> __global__ void kernel(void){ } int main(){ printf("Hello World from CPU!\n"); kernel<<<1,1>>>(); printf("Hello World from GPU via CUDA Kernel Execution.\n"); return 0; } ``` 然后依次按照顺序处理直至最终成果展示出来为止😉 ```bash nvcc test.cu -o test.out # 编译生成可执行文件 ./test.out # 执行查看输出结果对比预期相符则大功告成🎉🎊 ``` #### 7. 安装cuDNN库 下载适用于所选CUDA版本的相应cuDNN SDK压缩包之后解压复制必要头文件及动态共享对象到指定目录结构当中去就可以了哈😎 ```bash sudo cp include/cudnn*.h /usr/local/cuda/include/ sudo cp lib/*libcudnn.so* /usr/local/cuda/lib64/ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn.so* ``` 记得再次刷新缓存使得应用程序能及时发现这些变化喔👍 ```bash ldconfig ``` 至此你应该已经在自己的Ubuntu工作站上面成功构建起了完整的基于NVIDIA技术栈支持的人工智能开发生态环境啦👏👏👏接下来就尽情享受探索未知世界的乐趣时刻吧💪🔥 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值