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: 不推荐。这会导致库加载冲突。建议为不同项目使用不同的虚拟环境。
参考资源
- PyTorch CUDA下载: https://pytorch.org/get-started/locally/
- TensorRT文档: https://docs.nvidia.com/deeplearning/tensorrt/developer-guide/
- CUDA工具包: https://developer.nvidia.com/cuda-downloads