ruhexiezai tensorrt
时间: 2025-07-04 19:09:36 浏览: 8
### 3.1 卸载旧版本 TensorRT
在 Ubuntu 上卸载旧版本的 TensorRT,可以通过以下步骤进行操作。如果之前是通过 `.deb` 包安装的,则可以使用 `apt-get` 命令来卸载所有与 TensorRT 相关的组件:
```bash
sudo apt-get --purge remove "*tensorrt*"
```
此命令会移除所有与 TensorRT 相关的软件包。为了进一步清理系统,还可以执行自动卸载以删除不再需要的依赖项:
```bash
sudo apt autoremove
```
此外,对于特定版本的 TensorRT(例如版本 7.x),可以使用如下命令进行更精确的卸载:
```bash
sudo apt-get remove --purge libnvinfer7 libnvinfer-plugin7 libnvparsers7 libnvonnxparsers7 libnvinfer-dev libnvinfer-plugin-dev libnvparsers-dev libnvonnxparsers-dev python3-libnvinfer
```
该命令将专门卸载 TensorRT 7.x 版本的相关库和开发文件[^3]。
### 3.2 清理残留文件和配置
除了卸载软件包之外,还应手动删除可能存在的残留文件和配置。这些文件通常位于 `/usr/include/` 和 `/usr/lib/x86_64-linux-gnu/` 路径下。例如,可以运行以下命令来删除与 CUDNN 相关的头文件和库文件:
```bash
sudo rm -rf /usr/include/cudnn.h
sudo rm -rf /usr/lib/x86_64-linux-gnu/libcudnn*
```
同时,建议清除与这些库相关的 APT 缓存条目以避免潜在冲突:
```bash
sudo apt-get --purge remove "*libcudnn*"
```
对于曾经使用本地仓库安装过 CUDNN 的用户,也应考虑卸载对应的 CUDNN 包及其配置文件:
```bash
sudo dpkg -r libcudnn8-samples
sudo dpkg -r libcudnn8-dev
sudo dpkg -r libcudnn8
sudo dpkg --purge cudnn-local-repo-ubuntu2204-8.8.0.121
```
最后,刷新软件源列表以确保系统不会因为旧有的软件源信息而尝试重新安装已被删除的组件:
```bash
sudo apt-get update
```
### 3.3 安装新版本 TensorRT
完成上述卸载和清理工作后,接下来可以准备安装新的 TensorRT 版本。如果是通过 `.deb` 包安装,可以在下载安装包后运行以下命令:
```bash
sudo dpkg -i nv-tensorrt-repo-XXX_amd64.deb
sudo apt-key add /var/nv-tensorrt-repo-XXX/XXX.pub
sudo apt-get update
sudo apt-get install tensorrt
```
上述命令首先添加 TensorRT 的官方仓库,然后更新软件源并安装 TensorRT[^1]。
如果希望在没有 root 权限的情况下安装 TensorRT,则可以从 NVIDIA 官网下载 `tar.gz` 压缩包,并解压到本地目录。随后在虚拟环境中使用 `pip` 进行安装。例如,在虚拟环境中执行:
```bash
(pytorch-yolov5) yinshaohui@sysadmin-System-Product-Name:~/TensorRT-7.0.0.11/python$ pip install tensorrt-7.0.0.11-cp37-none-linux_x86_64.whl
```
这种方式允许将 TensorRT 安装在本地路径中,而不影响全局环境[^2]。
### 3.4 注意事项
在更换 TensorRT 版本时,必须确保当前环境中的 CUDA 和 cuDNN 版本与目标版本兼容。不同版本的 TensorRT 对 CUDA 和 cuDNN 的要求有所不同。例如,TensorRT 8.6.1 需要 CUDA 12.0 和 cuDNN 8.9+,而较早的版本如 TensorRT 8.5.3 则兼容于 CUDA 11.8 和 cuDNN 8.6+。如果现有环境已包含更高版本的工具链但希望维持较低版本的 TensorRT,则可能需要构建自定义容器来实现版本隔离,从而避免全局依赖冲突。
如果已经存在支持新 CUDA 版本的显卡驱动(如 535.54 支持 CUDA 12.2),但在降级 TensorRT 时遇到问题,这类情况通常要求回滚驱动版本或者调整整个软件栈来匹配底层硬件特性。
阅读全文