Ubuntu 20.04下TensorRT 10.9安装避坑指南:从驱动到环境变量全流程
Ubuntu 20.04下TensorRT 10.9安装全流程实战从驱动配置到环境调优在深度学习推理加速领域TensorRT作为NVIDIA推出的高性能推理优化器能够显著提升模型在NVIDIA GPU上的执行效率。本文将手把手带你完成Ubuntu 20.04系统上TensorRT 10.9的完整安装过程特别针对实际部署中常见的环境配置问题提供解决方案。1. 系统环境准备与驱动安装1.1 硬件与基础环境检查在开始安装前我们需要确认系统环境是否符合TensorRT 10.9的要求# 查看系统版本 lsb_release -a # 查看GPU信息 lspci | grep -i nvidia # 查看内核版本 uname -m cat /etc/*release推荐配置Ubuntu 20.04.6 LTS长期支持版NVIDIA Tesla T4或更高性能GPU至少16GB系统内存50GB可用磁盘空间注意TensorRT 10.9需要CUDA 12.2或更高版本支持建议使用NVIDIA驱动版本5351.2 NVIDIA驱动安装最佳实践对于生产环境推荐使用官方仓库安装稳定版驱动# 添加官方驱动仓库 sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update # 查找推荐驱动版本 ubuntu-drivers devices # 安装推荐驱动示例为535版本 sudo apt install nvidia-driver-535 # 重启后验证安装 nvidia-smi常见问题排查若遇到Unable to locate package错误尝试更新软件源后重试安装后若nvidia-smi无输出可能需要禁用nouveau驱动2. CUDA工具链配置2.1 CUDA 12.2定制化安装TensorRT 10.9需要特定版本的CUDA支持。建议使用runfile方式安装以便灵活选择组件# 下载CUDA 12.2安装包 wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux.run # 运行安装程序注意跳过驱动安装 sudo sh cuda_12.2.2_535.104.05_linux.run --toolkit --samples --silent --override安装完成后需要配置环境变量# 编辑~/.bashrc文件 echo export PATH/usr/local/cuda-12.2/bin:$PATH ~/.bashrc echo export LD_LIBRARY_PATH/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH ~/.bashrc source ~/.bashrc # 验证安装 nvcc --version2.2 cuDNN兼容性配置TensorRT运行时依赖特定版本的cuDNN库。建议从NVIDIA开发者网站下载与CUDA 12.2匹配的cuDNN 8.9# 解压并复制库文件示例路径需替换为实际下载路径 tar -xzvf cudnn-linux-x86_64-8.9.0.131_cuda12-archive.tar.xz sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 sudo chmod ar /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*3. TensorRT 10.9安装详解3.1 获取安装包与依赖解析从NVIDIA官网下载TensorRT 10.9的TAR包wget https://developer.nvidia.com/downloads/compute/machine-learning/tensorrt/10.9.0/tars/TensorRT-10.9.0.34.Linux.x86_64-gnu.cuda-12.8.tar.gz解压到指定目录建议放在/opt下便于管理sudo mkdir -p /opt/tensorrt sudo tar -xvf TensorRT-10.9.0.34.Linux.x86_64-gnu.cuda-12.8.tar.gz -C /opt/tensorrt3.2 环境变量智能配置为避免与其他版本冲突建议创建独立的环境配置文件# 创建专用环境变量文件 sudo tee /etc/profile.d/tensorrt.sh EOF export TENSORRT_HOME/opt/tensorrt/TensorRT-10.9.0.34 export LD_LIBRARY_PATH\$TENSORRT_HOME/lib:\$LD_LIBRARY_PATH export PATH\$TENSORRT_HOME/bin:\$PATH export CPLUS_INCLUDE_PATH\$TENSORRT_HOME/include:\$CPLUS_INCLUDE_PATH EOF # 立即生效 source /etc/profile.d/tensorrt.sh3.3 Python接口安装技巧对于Python开发者建议使用virtualenv创建隔离环境# 创建虚拟环境 python3 -m venv trt_env source trt_env/bin/activate # 安装必要组件 pip install --upgrade pip pip install nvidia-pyindex pip install pycuda # 安装TensorRT Python包注意路径替换 pip install /opt/tensorrt/TensorRT-10.9.0.34/python/tensorrt-10.9.0-cp38-none-linux_x86_64.whl4. 验证与性能调优4.1 基础功能验证创建简单的测试脚本trt_test.pyimport tensorrt as trt # 打印版本信息 print(fTensorRT版本: {trt.__version__}) # 创建logger logger trt.Logger(trt.Logger.INFO) # 测试builder功能 builder trt.Builder(logger) if builder: print(Builder创建成功) print(f可用的DLA核心数: {builder.num_dla_cores}) print(fFP16支持: {builder.platform_has_fast_fp16})运行测试python trt_test.py预期输出应包含TensorRT版本号和硬件能力信息。4.2 性能优化建议为获得最佳性能可考虑以下调优参数参数项推荐值说明workspace_size1GB-2GB根据模型复杂度调整fp16_enabledTrue如果硬件支持FP16int8_enabled视模型需求需要校准数据集max_batch_size实际推理批大小避免设置过大消耗显存dla_core如果可用在Orin等嵌入式设备上特别有效在代码中应用这些参数config builder.create_builder_config() config.max_workspace_size 1 30 # 1GB config.set_flag(trt.BuilderFlag.FP16) config.set_flag(trt.BuilderFlag.INT8) if use_int8 else None4.3 常见问题解决方案问题1ImportError: libnvinfer.so.10: cannot open shared object file解决方案# 检查库路径是否正确 sudo ldconfig -v | grep nvinfer # 如果未找到手动添加链接 sudo ln -s /opt/tensorrt/TensorRT-10.9.0.34/lib/libnvinfer.so.10 /usr/lib/问题2CUDA版本不兼容错误解决方案# 确认CUDA和TensorRT版本匹配 nvcc --version cat /opt/tensorrt/TensorRT-10.9.0.34/README.md | grep CUDA问题3Python包导入冲突解决方案# 检查安装路径优先级 python -c import tensorrt; print(tensorrt.__file__) # 清理旧版本 pip uninstall tensorrt