问题描述:
在pycharm运行文件一直提示文件加载问题、cuda、NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDA
虚拟环境建了好几个,试过各种在虚拟环境安装cuda的方法,在pycharm查看环境的package的包里有cuda和pytorch。然后执行如下命令验证torch的版本、以及torch与cuda版本是否对应、cuda是否可用。发现输出False.
import torch
print(torch.__version__)
print(torch.cuda.is_available())
考虑是驱动的问题,去终端用命令lsmod查看模块加载列表,发现没有nvidia。
然后用nvidia-smi,打不开,出现报错但是我之前安装完驱动以后是能调出来的,查了一下可能是内核的问题。也就是没有成功阻止自动更新,导致新版本内核和原来显卡驱动不匹配。
解决方法:
sudo apt-get install dkms
sudo dkms install -m nvidia -v 535.146.02(表示的是驱动版本号)
然后再执行nvidia-smi就可以了。
需要彻底禁止内核自动更新,之前通过软件与更新设置无效,因此需要通过代码解决。三个方法需要都设置一下。
1.复制下面的命令打开文件,并把所有的1 置0(禁止自动更新的意思)然后保存、关闭。
sudo gedit /etc/apt/apt.conf.d/10periodic
或者直接自动修改为0
echo -e "APT::Periodic::Update-Package-Lists \"0\";\nAPT::Periodic::Download-Upgradeable-Packages \"0\";\nAPT::Periodic::AutocleanInterval \"0\";\nAPT::Periodic::Unattended-Upgrade \"0\";" | sudo tee /etc/apt/apt.conf.d/10periodic
echo -e "APT::Periodic::Update-Package-Lists \"0\";\nAPT::Periodic::Unattended-Upgrade \"0\";" | sudo tee /etc/apt/apt.conf.d/20auto-upgrades
2.通过软件与更新
3.关闭内核更新
sudo apt-mark hold linux-image-generic linux-headers-generic
完成以后重启。
参考:解决NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver_nvidia-smi has failed because it couldn't communic-CSDN博客
ubuntu20.04禁用自动更新(禁用更新、禁用自动升级、禁用apt更新、禁用apt升级、禁用软件更新、禁用系统更新、禁用系统升级)_ubuntu20.04 关掉自动更新-CSDN博客