Ubuntu20.04安装TensorRT教程
以下是 Ubuntu 20.04 系统上安装 TensorRT 的详细教程,涵盖更详细的步骤、依赖项安装和常见问题解决方案:
一、系统和硬件要求
1. 硬件要求
-
NVIDIA 显卡:支持 CUDA 的型号(如 NVIDIA Tesla、Quadro、RTX 系列等),通过以下命令查看显卡型号:
lspci | grep -i nvidia
2. 系统要求
- Ubuntu 20.04 LTS:64-bit 系统。
- 内核版本:建议使用默认内核(5.4+)或更高稳定版本。
3. 网络配置
- 确保系统能访问互联网(TensorRT 安装需要从 NVIDIA 服务器下载依赖)。
二、安装 NVIDIA 驱动
1. 卸载旧驱动(如果已安装)
sudo apt-get purge nvidia*
sudo apt autoremove --purge
sudo rm -rf /etc/X11/xorg.conf*
2. 安装最新驱动
-
推荐方法:使用官方仓库安装驱动:
sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update ubuntu-drivers devices # 查看推荐驱动版本 sudo ubuntu-drivers autoinstall
-
手动指定驱动版本(例如
nvidia-driver-535
):sudo apt install nvidia-driver-535 sudo reboot
3. 验证驱动安装
nvidia-smi # 应显示显卡信息和驱动版本
三、安装 CUDA
1. 下载 CUDA 安装包
-
访问 NVIDIA CUDA 下载页面,选择:
- Linux → Ubuntu → 20.04 → x86_64 →deb (network)
- CUDA Version: 12.1(与 TensorRT 8.6 兼容)。
-
下载命令示例(以 CUDA 12.1 为例):
wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_535.86.10_linux.run
2. 安装 CUDA
sudo chmod +x cuda_12.1.1_535.86.10_linux.run
sudo ./cuda_12.1.1_535.86.10_linux.run
- 安装过程中按以下步骤操作:
- Accept License Agreement(按
a
并回车)。 - Install NVIDIA CUDA Driver:选择
no
(已安装驱动)。 - Select Install Type:选择
Install
。 - Destination Directory:默认路径
/usr/local/cuda-12.1
。 - Adjust Permissions:选择
yes
。 - Register CUDA Tools with GDB:选择
yes
。 - Install CUDA Samples:选择
yes
(可选)。
- Accept License Agreement(按
3. 设置环境变量
-
编辑
~/.bashrc
或/etc/profile
:echo 'export PATH=/usr/local/cuda-12.1/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc echo 'export CUDA_HOME=/usr/local/cuda-12.1' >> ~/.bashrc source ~/.bashrc
4. 验证 CUDA
nvcc --version # 应显示 CUDA 12.1 版本
四、安装 TensorRT
1. 下载 TensorRT 安装包
-
访问 NVIDIA TensorRT 下载页面,选择:
-
TensorRT 8.6.1.6(与 CUDA 12.1 兼容)。
-
下载
.tar.gz
文件:wget https://developer.nvidia.com/compute/machine-learning/tensorrt/secure/8.6/1/rel_build_20231017/TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-12.1.cudnn8.8.tar.gz
-
2. 解压并安装
tar -xzvf TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-12.1.cudnn8.8.tar.gz
cd TensorRT-8.6.1.6
sudo ./tensorrt.run
- 安装步骤:
- Accept License Agreement(按
a
并回车)。 - Install NVIDIA CUDA Toolkit:选择
no
(已安装 CUDA)。 - Install TensorRT:选择
yes
。 - Install Samples:选择
yes
(可选)。
- Accept License Agreement(按
3. 设置 TensorRT 环境变量
-
编辑
~/.bashrc
:echo 'export PATH=/usr/src/tensorrt/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/src/tensorrt/lib:$LD_LIBRARY_PATH' >> ~/.bashrc echo 'export TRT_LIB=/usr/src/tensorrt/lib' >> ~/.bashrc source ~/.bashrc
4. 安装依赖库
sudo apt install -y libnvinfer8=8.6.1-1+cuda12.1
sudo apt install -y libnvinfer-plugin8=8.6.1-1+cuda12.1
sudo apt install -y libnvparsers8=8.6.1-1+cuda12.1
五、验证安装
1. 检查 TensorRT 版本
trtexec --version # 应显示 TensorRT 8.6.1.6
2. 运行示例程序
-
进入示例目录:
cd /usr/src/tensorrt/samples
-
编译并运行
mnist
示例:make mnist ./mnist
-
输出应显示:
Test passed! Output is correct.
3. Python 环境验证(可选)
-
安装 Python 绑定:
pip install --extra-index-url https://pypi.ngc.nvidia.com tensorrt
-
测试 Python 接口:
import tensorrt as trt print(trt.__version__) # 应输出 8.6.1.6
六、常见问题及解决方案
1. 驱动安装失败
-
问题:驱动安装后无法启动图形界面。
-
解决:进入
tty
(Ctrl+Alt+F1),卸载驱动并重装:sudo apt purge nvidia* sudo ubuntu-drivers autoinstall
-
2. CUDA 版本冲突
-
问题:
nvcc --version
显示非 12.1 版本。-
解决:检查环境变量路径是否正确,确保
/usr/local/cuda
指向 CUDA 12.1:sudo ln -s /usr/local/cuda-12.1 /usr/local/cuda
-
3. TensorRT 依赖缺失
-
问题:运行
trtexec
报错libnvinfer.so.8
未找到。-
解决:确保
LD_LIBRARY_PATH
包含 TensorRT 库路径:sudo ldconfig /usr/src/tensorrt/lib
-
4. Python 绑定安装失败
-
问题:
pip install tensorrt
失败。-
解决:指定 CUDA 版本并安装:
pip install --extra-index-url https://pypi.ngc.nvidia.com tensorrt -U --pre
-
七、其他注意事项
1. CUDNN 安装
- TensorRT 需要 CUDNN 库,但安装 TensorRT 时会自动包含 CUDNN 8.8(与 CUDA 12.1 兼容)。
2. 系统更新
- 安装过程中避免升级系统内核或 CUDA,以免破坏兼容性。
3. 权限问题
-
若遇到权限错误,尝试用
sudo
执行命令,或检查文件夹权限:sudo chmod -R 755 /usr/src/tensorrt
八、参考资料
- TensorRT 官方文档:TensorRT Developer Guide
- CUDA 安装指南:CUDA Installation Guide
- NVIDIA 驱动支持列表:NVIDIA Linux Drivers
通过以上步骤,您应该能顺利完成 TensorRT 的安装和验证。如果遇到问题,请检查每一步的输出日志,并参考官方文档或社区论坛(如 NVIDIA 论坛、Stack Overflow)寻求帮助。