之前装了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。