TensorFlow 2.11.0无法检测GPU:GPU库加载失败求助
TensorFlow 2.11.0无法检测GPU的解决方法
问题背景
已按官方pip安装流程完成TensorFlow 2.11.0(搭配Python 3.7.10)的部署,全程无报错,但运行时无法识别GPU,日志显示缺失关键GPU依赖库。
翻译后的错误日志
2023-02-28 01:02:51.625308: I tensorflow/core/platform/cpu_feature_guard.cc:193] 此TensorFlow二进制文件已通过oneAPI深度神经网络库(oneDNN)优化,可在性能关键操作中使用以下CPU指令:AVX2 AVX512F AVX512_VNNI FMA 如需在其他操作中启用这些指令,请使用适当的编译器标志重新构建TensorFlow。 2023-02-28 01:02:51.753482: I tensorflow/core/util/port.cc:104] oneDNN自定义操作已开启。由于不同计算顺序导致的浮点舍入误差,您可能会看到略有不同的数值结果。如需关闭,请设置环境变量`TF_ENABLE_ONEDNN_OPTS=0`。 2023-02-28 01:02:53.042228: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] 无法加载动态库'libnvinfer.so.7';dlerror: libnvinfer.so.7: 无法打开共享对象文件: 没有那个文件或目录;LD_LIBRARY_PATH: /usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/compat:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/cuda/compat:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/nvidia/lib64:/home/gesong/.conda/envs/tf/lib/:/home/gesong/.conda/envs/tf/lib/ 2023-02-28 01:02:53.042457: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] 无法加载动态库'libnvinfer_plugin.so.7';dlerror: libnvinfer_plugin.so.7: 无法打开共享对象文件: 没有那个文件或目录;LD_LIBRARY_PATH: /usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/compat:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/cuda/compat:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/nvidia/lib64:/home/gesong/.conda/envs/tf/lib/:/home/gesong/.conda/envs/tf/lib/ 2023-02-28 01:02:53.042475: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT警告:无法加载部分TensorRT库。如果您希望搭配TensorRT使用NVIDIA GPU,请确保上述缺失的库已正确安装。 2023-02-28 01:02:54.601061: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] 无法加载动态库'libcusolver.so.11';dlerror: libcusolver.so.11: 无法打开共享对象文件: 没有那个文件或目录;LD_LIBRARY_PATH: /usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/compat:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/cuda/compat:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/nvidia/lib64:/home/gesong/.conda/envs/tf/lib/:/home/gesong/.conda/envs/tf/lib/ 2023-02-28 01:02:54.602005: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1934] 无法加载部分GPU库。如果您希望使用GPU,请确保上述缺失的库已正确安装。请参考GPU安装指南了解如何为您的平台下载和设置所需库。 跳过GPU设备注册... []
修复步骤
匹配CUDA Toolkit版本
TensorFlow 2.11.0要求搭配CUDA 11.2:- 检查当前CUDA版本:执行
nvcc --version,若版本不是11.2,卸载现有CUDA后重新安装CUDA 11.2。 - 确认
/usr/local/cuda/lib64目录下存在libcusolver.so.11,若缺失,重新安装CUDA 11.2的完整组件。
- 检查当前CUDA版本:执行
安装兼容的TensorRT库
TF2.11.0适配TensorRT 7.x版本(推荐7.2.3):- 下载对应版本的TensorRT,解压后将
lib目录下的库文件复制到/usr/local/lib或/usr/local/cuda/lib64。 - 确保TensorRT的库路径被添加到
LD_LIBRARY_PATH。
- 下载对应版本的TensorRT,解压后将
配置环境变量
在终端执行以下命令临时生效:export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/TensorRT/lib:$LD_LIBRARY_PATH如需永久生效,将上述命令添加到
~/.bashrc(或~/.zshrc)文件末尾,执行source ~/.bashrc使配置生效。验证GPU检测
运行以下Python代码确认GPU是否被识别:import tensorflow as tf print(tf.config.list_physical_devices('GPU'))
内容的提问来源于stack exchange,提问作者topcan5
相关产品推荐
相关产品推荐

