Nvidia driver + CUDA + cudnn + anaconda + tensorflow 版本匹配 -- 解决3D object detection模型out of memory问题

本文详细记录了解决3D物体检测模型在运行时遇到的out of memory问题的过程,主要涉及到Nvidia驱动、CUDA、cudnn和TensorFlow-gpu的版本匹配。问题根源包括cudnn安装不正确、TensorFlow-gpu版本不匹配以及Anaconda环境中cudnn版本冲突。通过检查和调整各个组件的版本,以及正确处理Anaconda环境中的依赖,最终成功解决了内存溢出问题。
摘要由CSDN通过智能技术生成

目录

Part I: 问题与原因

Part II: 参考配置

Part III: 当前版本查看

Part III: 版本匹配

3.1 Nvidia driver 选择

3.2 Nvidia driver 与 CUDA匹配

3.3 CUDA 与 cudnn 与 tensorflow-gpu版本匹配

Part IV: Anaconda引起的版本问题

4.1 anaconda中cudnn版本问题:

4.2 处理方式

4.3 补充:对anaconda中环境中的pip和python尽量用绝对路径去使用pip和python命令


Part I: 问题与原因

最近在用tensorflow做一个3D物体检测模型, 遇到3D object detection内存溢出(out of memory)问题,网上以及找人都没有现成的解决方案,前后花了将近一个月才彻底解决。

总结下来, 主要有三方面问题:

1. cudnn 没有正确安装---涉及cudnn版本是否支持对应的tensorflow-gpu版本, 是否替换掉原来的旧版本, 以及cudnn是否与安装的cuda匹配;

2. tensorflow-gpu版本是否正确安装 --- 是否与 cuda, cudnn 版本匹配, 是用pycharm直接装还是用所在环境的pip安装(/home/ubuntu/anaconda3/envs/object_detection/bin/pip)

3. anaconda 中的cudnn用的是老版本(安装cudnn时并没有像多数帖子上说的那样放到/usr/local/cuda/include/, 而是装到anaconda 路径下面 可以用 sudo find -name "libcudnn*" 和 sudo find -name "cudnn.h" 找到安装路径)

 

Part II: 参考配置

当前的版本配置为(显卡 RTX 2080Ti):

软硬件 版本
显卡 RTX 2080Ti
NVIDIA Driver Version 410.104
CUDA release 10.0, V10.0.130
cudnn 7.4.2.24
Tensorflow-gpu 1.14.0

其中NVIDIA Driver Version 410.104 是long lived version, 所以采用该版本。

以下将从显卡驱动到tensorflow-gpu总结各个环节版本匹配问题, 具体安装方式参考另一篇帖子:

https://blog.csdn.net/bmwlwg/article/details/100795413

 

Part III: 当前版本查看

查看GPU版本(N卡)
lspci | grep -i nvidia

查看nvidia驱动版本

cat /proc/driver/nvidia/version
# 或采用如下方式
nvidia-smi

查看CUDA版本

cat /usr/local/cuda/version.txt
nvcc -V # nvidia 编译器版本
# 或 
nvcc --version

查看cuDNN版本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值