某次训练的时候,突然发现keras没在使用GPU 而是在使用cpu
使用python
device_lib.list_local_devices()看了一下
发现只能看到一个cpu,
gpu没有检测到
然后
cd ~/NVIDIA_CUDA-8.0_Samples/1_Utilities/deviceQuery
make
./deviceQuery
发现这货报30错误,一会又报35错误,好像是cuda什么版本和runtime版本兼容有问题
找了很多方法还是没有解决,所以决定。。。。重装驱动和cuda,cudnn
(因为之前安装网上的久远版本安装了久远的cuda版本,所以干脆今天重新装环境得了)
(安装流程参考之前的一篇文章https://blog.csdn.net/Arthur_Holmes/article/details/87931148)
之前的cuda版本不够高,显卡驱动也不够
这次显卡驱动安装的是
应该看起来是最新的
而且由于之前安装过驱动,所以驱动安装比较费劲
需要避免sudo apt-get install nvidia-*安装方式造成登录界面循环。
所以我们使用run方式安装nvidia显卡驱动
1. ubuntu 16.04默认安装了第三方开源的驱动程序nouveau,安装nvidia显卡驱动首先需要禁用nouveau,不然会碰到冲突的问题,导致无法安装nvidia显卡驱动。
编辑文件blacklist.conf
sudo vim /etc/modprobe.d/blacklist.conf
若未安装vim则sudo apt-get install vim安装或使用vi
在文件最后部分插入以下两行内容
blacklist nouveau
options nouveau modeset=0
更新系统
sudo update-initramfs -u
重启系统(一定要重启)
验证nouveau是否已禁用
lsmod | grep nouveau
没有信息显示,说明nouveau已被禁用,接下来可以安装nvidia的显卡驱动。
在ubuntu下按ctrl+alt+f1进入命令行界面,
然后在命令行界面下输入:
init 3
rm -rf /tmp/.X*
//这个是关闭图形界面
然后卸载掉原有驱动:
sudo apt-get remove nvidia-* (若安装过其他版本或其他方式安装过驱动执行此项)
给驱动run文件赋予执行权限:
sudo chmod a+x NVIDIA-Linux-x86_64-418.56.run
安装:
sudo ./NVIDIA-Linux-x86_64-418.56.run -no-x-check -no-nouveau-check -no-opengl-files //只有禁用opengl这样安装才不会出现循环登陆的问题
-no-x-check:安装驱动时关闭X服务
-no-nouveau-check:安装驱动时禁用nouveau
-no-opengl-files:只安装驱动文件,不安装OpenGL文件
安装过程中的选项:(这是copy别人的,自己的没记住,我也是尝试选择了好多遍才安装好)
The distribution-provided pre-install script failed! Are you sure you want to continue? 选择 yes 继续。
Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 选择 No 继续。
问题没记住,选项是:install without signing
问题大概是:Nvidia's 32-bit compatibility libraries? 选择 No 继续。
Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 选择 Yes 继续
这些选项如果选择错误可能会导致安装失败,没关系,只要前面不出错,多尝试几次就好。
挂载Nvidia驱动:
modprobe nvidia
检查驱动是否安装成功:
nvidia-smi
sudo reboot 重启
参考文章:https://blog.csdn.net/xunan003/article/details/81665835
这次cuda安装的是
cuda_9.0.176_384.81_linux.run
具体流程参考https://blog.csdn.net/Arthur_Holmes/article/details/87931148
cudnn-9.0-linux-x64-v7.4.2.24.tgz
安装的tensorflow版本是tensorflow-gpu==1.8
keras是2.1.0
版本