Linux Mint下TensorFlow-GPU无法运行:TF-TRT提示找不到TensorRT
问题排查与解决步骤
一、版本兼容性核对
- 核心版本匹配问题:
- TensorFlow 2.x对CUDA 12.4的支持需要TensorFlow 2.15及以上版本,若你安装的tensorflow-gpu版本低于此,需直接更换版本。
- GTX 1060属于Pascal架构,支持CUDA 12.x,但cuDNN必须匹配CUDA 12.4(推荐cuDNN 8.9.x系列)。
- TensorRT 8.6.1官方仅支持CUDA 11.8-12.2,你使用的CUDA 12.4超出其兼容范围,这是TF-TRT警告及GPU识别异常的关键诱因。
二、修正TensorRT安装方式
pip安装的TensorRT常存在系统库路径不匹配问题,建议改用NVIDIA官方deb包安装:
- 卸载现有pip版TensorRT:
pip uninstall -y tensorrt - 下载对应CUDA 12.4的TensorRT版本(如TensorRT 8.7.0及以上,官方支持CUDA 12.4)的deb(local)包
- 执行安装:
sudo dpkg -i nv-tensorrt-repo-ubuntu2204-cuda12.4-trt8.7.0.12-ga-20240220_1-1_amd64.deb sudo cp /var/nv-tensorrt-repo-ubuntu2204-cuda12.4-trt8.7.0.12-ga-20240220/*.key /usr/share/keyrings/ sudo apt-get update sudo apt-get install tensorrt - 验证安装:
dpkg -l | grep tensorrt,确认版本正确
三、系统环境变量持久化配置
临时配置的LD_LIBRARY_PATH易失效,建议写入~/.bashrc:
- 打开配置文件:
nano ~/.bashrc - 添加以下内容(默认路径,若你的安装路径不同需调整):
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH export CUDA_HOME=/usr/local/cuda - 生效配置:
source ~/.bashrc - 验证路径:
echo $LD_LIBRARY_PATH,确认所有路径已包含
四、cuDNN配置检查
- 确保cuDNN为CUDA 12.4适配版本,解压后拷贝至CUDA目录:
sudo cp cudnn-linux-x86_64-8.9.7.29_cuda12-archive/include/cudnn*.h /usr/local/cuda/include sudo cp cudnn-linux-x86_64-8.9.7.29_cuda12-archive/lib/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn* - 验证版本:
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
五、TensorFlow重装与验证
- 卸载现有TensorFlow:
pip uninstall -y tensorflow-gpu tensorflow - 安装支持CUDA 12.4的版本(如2.15.0):
pip install tensorflow==2.15.0 - 验证GPU识别:
若输出GPU设备信息且python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU')); print(tf.test.is_gpu_available())"is_gpu_available()返回True,说明配置成功。
六、Docker方案补充检查
此前Docker尝试失败大概率是镜像版本不匹配:
- 选择TensorFlow官方镜像,指定CUDA 12.4、cuDNN 8.9、TensorRT匹配的版本:
docker pull tensorflow/tensorflow:2.15.0-gpu-jupyter - 运行时需确保NVIDIA容器工具链正常:
docker run --gpus all -it tensorflow/tensorflow:2.15.0-gpu-jupyter - 进入容器后执行GPU验证命令,确认识别情况
内容的提问来源于stack exchange,提问作者user23788590
相关产品推荐
相关产品推荐

