1、pytorch版本不兼容
参考链接
不晓得啥子原因,torch安装一直出问题
依照这个表格的版本,安装cuda11.3
cuda官网
cudnn官网
(这两个网址比较快~~~)
wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run
# 找到目录文件,输入下面命令
sudo sh cuda_11.3.0_465.19.01_linux.run
参考链接
依据这个博主的说法,也就是我的linux系统内核不对。
# 查看当前系统的gcc版本
$ gcc --version
# 若没有安装gcc,则执行以下命令
$ apt install gcc
# 查看系统正在运行的Kernel Header
$ uname -r
# 查看显卡信息,有显卡是安装cuda的前提
lspci | grep -i nvidia
安装NVIDIA显卡驱动
# 查看你可以使用的驱动
ubuntu-drivers devices
# 卸载Nouveau 在安装前,Nouveau可能已经启动,所以无法安装Nvidia成功
#---open a terminal---
sudo apt-get remove nvidia*
sudo apt autoremove
sudo apt-get install dkms build-essential linux-headers-generic
sudo vim /etc/modprobe.d/blacklist.conf
#---save the following info into file blacklist.conf---
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
#---end of the info saved----
#---go back to the terminal---
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
sudo update-initramfs -u
reboot
然后我的电脑重启,就黑屏了。。。。。。(出现图标的那种黑屏,感觉已经进入桌面了,就是不显示)
想过重装系统,奈何比较懒,再挣扎一下下。。。
参考链接
根据这个博主的操作,进入ubuntu高级选项,进入第一个recovery mode中,然后进去root
,点enter
,输入sudo apt-get remove --purge nvidia-*
,删除nvidia组件的含义,退出root(Ctrl+D
),选择resume即可。
然后,重启开机,就正常开机了。
# 查看NVIDIA版本检验是否安装完成
nvidia-smi
什么都没有。。。。。。
人傻了。。。
然后继续查找资料,还是第一个博主说的,Linux系统内核的问题。
忽略了一个最重要的问题:安装cuda和cudnn之前,需要安装显卡驱动,刚刚黑屏把显卡驱动全部删除了,所以要重新装显卡驱动。
参考链接
# 把之前的nvidia卸载干净
sudo apt-get remove --purge nvidia-*
#
sudo apt-get update
# 查看可以选择哪些驱动
sudo ubuntu-drivers devices
# 下载的nvidia驱动版本
sudo apt install nvidia-driver-470 # cuda最高11.4
sudo apt install nvidia-driver-515 # cuda最高11.7
# 重启电脑(这一步很重要,不重启没有效果)
reboot
# 重启后,输入命令查看nvidia驱动是否安装好了,gpu是否可用
nvidia-smi
还有很重要的一点!!!!!!
sudo apt-get upgrade
# 该命令可能会导致ubuntu内核的更新。内核更新可能会导致你的nvidia驱动出现问题,不能用了。
原因:
可能是因为你的ubuntu系统如ubuntu18.04或者ubuntu20.04的gcc、g++版本过高。
装驱动需要的gcc、g++的版本需要是gcc7、或g++7。我用gcc9、g++9的装上nvidia驱动后会报错。
举个更改gcc、g++版本的例子:
因为Ubuntu20.04,或者有的ubuntu18.04自带的gcc版本为9,而nvidia驱动不支持gcc-9,因此要手动安装gcc-7,命令如下:
sudo apt-get install gcc-7 g++-7
# 安装完gcc-7,系统中就存在两个版本的gcc,因此要设置默认的gcc,命令如下:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1
# 此命令可以通过update-alternatives设置gcc各版本的优先级,优先级最高的为系统默认版本,可以用下述命令显示其优先级:
sudo update-alternatives --display gcc
# 设置默认的g++也是如此:
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 1
# 显示g++优先级:
sudo update-alternatives --display g++
所以,不要没事乱更新。。。
总结
其实就是,没事乱更新,内核更新导致的nvidia驱动出问题了。
就是更改gcc的版本为7,因为本身自动安装的是9,按照上述指令更改优先级别,然后禁用nouveau(这个我早就禁用了),简单确认一下,然后安装nvidia驱动版本,开机重启,查看cuda版本。
# 禁止系统自带显卡驱动
lsmod | grep nouveau
# 查看你可以使用的驱动
ubuntu-drivers devices
# 查看当前系统的gcc版本
$ gcc --version
# 查看显卡信息,有显卡是安装cuda的前提
lspci | grep -i nvidia
# 下载的nvidia驱动版本
sudo apt install nvidia-driver-470 # cuda最高11.4】
# 重启电脑(这一步很重要,不重启没有效果)
reboot
# 重启后,输入命令查看nvidia驱动是否安装好了,gpu是否可用
nvidia-smi
# 查看cuda 版本
nvcc -V