Tensorflow运行环境的cuda+cudnn版本问题

在CentOS 7.3.1611服务器上,遇到TensorFlow1.0运行时寻找libcudnn.so.5失败的问题。由于系统中存在cudnn6和7的版本,尝试创建软链接未解决问题,提示cudnn7与cuda8.0不兼容。查阅资料发现cuda8.0应配合cudnn5.1使用。更换为cudnn5.1后,程序成功运行。总结关键在于注意CUDA、cuDNN、系统版本和GPU计算能力之间的匹配问题。

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

问题

CentOS Linux release 7.3.1611服务器上以前装过tensorflow1.0,cuda8.0,cudnn v5.1,原本是能正常运行tf程序,一段时间没用,出了点小问题,故查资料解决一下

I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:126] Couldn't open CUDA library libcudnn.so.5. LD_LIBRARY_PATH: /usr/local/cuda-8.0/lib64:/usr/local/cuda-8.0/lib:
I tensorflow/stream_executor/cuda/cuda_dnn.cc:3517] Unable to load cuDNN DSO
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:<
### 使用 TensorFlow 检查 CUDAcuDNN版本 在使用 TensorFlow 进行 GPU 加速计算时,确保其依赖的 CUDAcuDNN 版本正确匹配是非常重要的。虽然 TensorFlow 并未提供直接查询 cuDNN 版本的功能,但可以通过间接方法验证环境配置是否正常。 #### 方法一:通过 TensorFlow 查询 CUDA 版本 可以利用 Python 脚本来检测当前环境中 TensorFlow 所使用的 CUDA 版本: ```python import tensorflow as tf print(f"TensorFlow version: {tf.__version__}") if tf.test.is_built_with_cuda(): print("Built with CUDA support.") else: print("Not built with CUDA support.") gpu_devices = tf.config.list_physical_devices('GPU') if gpu_devices: for device in gpu_devices: print(device) cuda_version = tf.sysconfig.get_build_info()['cuda_version'] cudnn_version = tf.sysconfig.get_build_info().get('cudnn_version', 'Unknown') # 可能无法获取具体版本号 print(f"CUDA Version: {cuda_version}, cuDNN Version: {cudnn_version}") else: print("No GPUs detected or configured properly.") ``` 上述脚本会打印出 TensorFlow 构建时所支持的 CUDAcuDNN 版本信息[^1]。需要注意的是,`tf.sysconfig.get_build_info()` 提供的信息仅限于构建 TensorFlow 时指定的版本,而非运行时实际加载的库版本。 #### 方法二:手动检查系统中的 CUDAcuDNN 版本 如果需要确认操作系统上已安装的具体 CUDAcuDNN 版本,则需执行以下命令: 对于 **CUDA**: ```bash nvcc --version ``` 该命令返回编译器驱动程序的相关细节以及对应的 CUDA 工具链版本[^4]。 至于 **cuDNN**,由于它通常作为动态链接库存在(如 `cudnn64_xx.dll`),因此可通过文件属性或查阅官方文档来判断其版本号。另一种方式是在 Python 中尝试导入并调用相关函数以验证兼容性[^3]。 #### 验证 GPU 是否可用 为了进一步确认 TensorFlow 成功识别到 GPU 设备及其关联软件栈状态良好,可运行如下代码片段: ```python import tensorflow as tf print("Num GPUs Available:", len(tf.config.experimental.list_physical_devices('GPU'))) if not tf.test.is_gpu_available(cuda_only=True): print("Warning! No compatible GPU/CUDA setup found!") else: print("Compatible GPU and CUDA environment detected successfully.") ``` 此部分逻辑有助于排查潜在问题,并确保硬件资源被充分利用。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值