【TensorRT】Could not load library libcudnn_cnn_infer.so.8

YOLOv7 TensorRT 故障排除指南

问题分析

错误信息

复制代码
Could not load library libcudnn_cnn_infer.so.8. Error: libcuda.so: cannot open shared object file: No such file or directory
Aborted (core dumped)

根本原因

这是一个CUDA版本不匹配问题:

  • 系统CUDA版本 : 12.9(通过 nvidia-smi 显示)
  • PyTorch编译CUDA版本: 11.7(PyTorch 1.13.1+cu117)
  • TensorRT版本: 10.13.3.9(需要CUDA库兼容性)

PyTorch在运行时寻找与CUDA 11.7兼容的库,但系统加载的是CUDA 12.9的库,导致符号不匹配和运行时错误。


解决方案

步骤1: 激活虚拟环境
bash 复制代码
conda activate <env_name>
步骤2: 卸载现有PyTorch
bash 复制代码
pip uninstall torch torchvision -y
步骤3: 安装与CUDA 12.9兼容的PyTorch与tensorrt
bash 复制代码
# 对于CUDA 12.x(最新版本)
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121

# 或使用cu118(也兼容大多数CUDA 12.x系统)
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118

# 安装兼容的tensorrt
pip install tensorrt-cu12
步骤4: 验证安装
bash 复制代码
python -c "import torch; print(f'PyTorch: {torch.__version__}'); print(f'CUDA: {torch.version.cuda}'); print(f'Available: {torch.cuda.is_available()}')"

快速诊断脚本

运行以下脚本来快速诊断您的环境:

bash 复制代码
python -c "
import torch
import tensorrt as trt
import sys
import os

print('='*60)
print('Environment Diagnostic Report')
print('='*60)
print(f'PyTorch Version: {torch.__version__}')
print(f'PyTorch CUDA Version: {torch.version.cuda}')
print(f'TensorRT Version: {trt.__version__}')
print(f'CUDA Available: {torch.cuda.is_available()}')
if torch.cuda.is_available():
    print(f'GPU Device: {torch.cuda.get_device_name(0)}')
    print(f'CUDA Compute Capability: {torch.cuda.get_device_capability(0)}')

print(f'')
print(f'LD_LIBRARY_PATH: {os.environ.get(\"LD_LIBRARY_PATH\", \"NOT SET\")}')
print(f'CUDA_HOME: {os.environ.get(\"CUDA_HOME\", \"NOT SET\")}')
print('='*60)
"

常见问题

Q1: 升级PyTorch会影响我的已训练模型吗?

A: 不会。预训练的权重兼容所有PyTorch版本(在小版本内)。只需加载 .pt 文件即可。

Q2: TensorRT10.13.3.9是否兼容CUDA 12.9?

A: 是的。TensorRT 10.13.3.9 完全支持CUDA 12.9及更高版本。

Q3: 我可以同时使用不同CUDA版本的PyTorch吗?

A: 不推荐。这会导致库加载冲突。建议为不同项目使用不同的虚拟环境。


参考资源

相关推荐
zhy2956325 天前
【DNN】基础环境搭建
人工智能·tensorrt·cuda·开发环境·cudnn
李李李li3 个月前
Ubuntu 22.04 安装tensorrt
linux·tensorrt
爱分享的飘哥3 个月前
第六十一章:AI 模型的“视频加速术”:Wan视频扩散模型优化
人工智能·剪枝·tensorrt·量化·模型优化·视频扩散模型·cuda graph
谢白羽3 个月前
tensorRT配合triton部署模型
yolo·tensorrt·onnx·triton
kcarly7 个月前
TensorRT 有什么特殊之处
ai·ai绘画·nvidia·tensorrt
鹅毛在路上了7 个月前
视频结构化框架VideoPipe-OpenCV::DNN-TensorRT安装教程【Nvidia各系列显卡-亲测有效】
opencv·音视频·tensorrt
搬砖的阿wei8 个月前
TensorRT:高性能深度学习推理的利器
人工智能·深度学习·tensorrt
laugh123219 个月前
性能飞跃!TensorRT-YOLO 6.0 全面升级解析与实战指南
环境配置·tensorrt·cuda·c/c++
laugh1232110 个月前
TensorRT-YOLO:灵活易用的 YOLO 部署工具
tensorrt·模型部署·c/c++·模型加密