升级cuda+tenserrt+python(cuda11.3+tensorrt8.2.1+python3.7)

之前装了cuda10.1+cudnn+tensorrt5.15+nvidia驱动,

现在想更新tesorrt到8.2,需要卸载已有的cuda+tensorrt,安装cuda11.3

由于我得用deb方式安装cuda,它会自动安装一个nvidia驱动,需要把现有的nvidia驱动卸载掉,否则两个驱动共存会导致开机无法进入ubuntu桌面。

1. 卸载原有nvidia相关软件

(1) 卸载cudnn

sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*

如果是deb方式安装的,还需要如下命令:

sudo rm -rf /usr/include/cudnn.h
sudo rm -rf /usr/lib/x86_64-linux-gnu/libcudnn*
sudo apt-get --purge remove "*libcudnn*"

(2) 卸载cuda10.1

sudo /usr/local/cuda-10.1/bin/cuda-uninstaller
cd /usr/local/
sudo rm -r cuda-10.1

如果是deb方式安装的cuda,用如下方式卸载cuda:

sudo apt-get --purge remove "*cublas*" "*cufft*" "*curand*" \
 "*cusolver*" "*cusparse*" "*npp*" "*nvjpeg*" "cuda*" "nsight*" 

(3)卸载tensorrt

sudo apt-get --purge remove nv-tenserrt*
sudo apt-get --purge remove "*tensorrt*"

(4)卸载nvidia驱动

sudo apt-get --purge remove "*nvidia*"

用如下命令查看是否卸载干净:

sudo dpkg --list | grep cuda

卸载干净的话,应该什么也找不到了,此时再开始  新的安装。

2. 安装

(1)安装cuda11.3

我选择deb方式安装,安装完成后查看一下当前nvidia驱动:

nvidia-smi

如果出现: Failed to initialize NVML: Driver/library version mismatch

重启一下就好。

我的nvidia驱动为465.19.01,cuda为11.3

(2) 安装tensorrt+cudnn

安装8.2.5.1的tensorrt,用deb安装,期间会自动安装cudnn8.2.1。

(3) 升级python3.6——>python3.7

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.7
#更换python3指向的软链接
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2
#切换python3指向
sudo update-alternatives --config python3

上面的命令作用是:安装了python3.7,并修改了python3命令的指向到python3.7。

原先的python3.6还在,并且可以通过python3.6来运行python3.6的程序。

安装在python3.6本地仓库的第三方库当然不能在运行python3.7时使用,需要为python3,7额外装第三方库。

此时pip3 install package 会向python3.7的仓库安装; apt install 方式安装的python包仍然是装到系统默认的python3.6

你可能感兴趣的:(python,cuda,tensorrt)