本人觉得这个安装指南写的比较全面
https://blog.csdn.net/wanzhen4330/article/details/81699769
首先看一下笔记本显卡型号
lspci |grep VGA
在命令行敲过这个命令后,有些台式机或笔记本会显示nvidia显卡,如下所示:
但是我的笔记本电脑 只显示nouveau卡(集成显卡)
需要执行下面命令才能找到nvidia显卡
lspci |grep 3D
一般的电脑安装网上的教程,直接顺利走完流程:安装nvidia驱动–>安装cuda–>安装cudnn。但是我的电脑安装这个流程一直安装不成功,nvidia-smi
能够正常显示,但是nvidia-settings
运行不成功,弹出一个对话框:You do not appear to be using the NVIDIA X driver. Please edit your X config。
我只说一下我的安装过程,虽然没有成功,但是网络的前向传播是没问题的,在反向传播时cuda出现了错误,由于我也不可能在笔记本上训练网络,也用不着发向传播,所以现在的笔记本暂时是可以用的。
——————————————————————————————————————
下面正式说明我是如何做的:
据说可以不用单独安装nvidia的驱动,直接安装cuda即可,在安装cuda的过程中,勾选安装驱动的选项,cuda安装包会给电脑安装一个驱动。
当然也可以分开安装,先安装nvidia驱动,载安装cuda。
https://www.geforce.cn/drivers/beta-legacy
下载cuda 安装包
https://developer.nvidia.com/cuda-toolkit-archive
cuda和nvidia驱动的版本要求如下:
在下载cuda安装文件的时候,在那个界面的最下方有一个安装指导书( Installation Guide for Linux),按照官网的指导应该是可以正确安装的。
在这个文档中一般会说明cuda要求的系统内核的最低版本,cuda9.0要求系统内核版本为4.4,有些情况下需要降低系统内核才能安装成功,降低系统内核版本的方法详见:https://jingyan.baidu.com/article/5552ef47fe57b6518ffbc991.html
在/etc/modprobe.d中创建文件blacklist-nouveau.conf
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
在文件中输入以下内容:
blacklist nouveau
options nouveau modeset=0
执行
sudo update-initramfs -u
更新状态
查看nouveau是否已经成功禁用
lsmod | grep nouveau
若无内容输出,则禁用成功,若仍有内容输出,请检查上述操作,并重复。
ctrl+alt+F1 进入命令行界面,登录账号密码进入系统。
关闭图形化界面,否则系统不能正常安装驱动
sudo service lightdm stop
卸载系统残留的nvidia驱动:
sudo /usr/bin/nvidia-uninstall
sudo apt-get remove --purge nvidia*
给刚才下载的nvidia 驱动赋予权限
sudo chmod a+x NVIDIA-Linux-x86_64-418.56.run
安装nvidia驱动: 注意: --no-opengl-files 选项使系统不会在登录界面反复循环
sudo ./NVIDIA-Linux-x86_64-396.18.run -no-opengl-files
安装过程中的选项:
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 继续。(来自博客https://blog.csdn.net/lihe4151021/article/details/90083431)
卸打开图形化界面:
sudo service lightdm start
打开一个terminal,输入
nvidia-smi
nvidia-settings
分别出现:代表安装成功
若出现下面的问题:
NVIDIA-SMI has failed because it couldn‘t communicate with NVIDIA driver. Make sure that the latest driver is installed and running.
则输入下面的命令, 其中390.129 修改成自己显卡驱动版本,查看方式 cd /usr/src
然后输入ls
,就可以看到产看到自己显卡驱动的版本。
sudo apt-get install dkms
sudo dkms install -m nvidia -v 390.129
一般人到这里显卡驱动就完全安装完成了,但是:当输入nvidia-settings
时,我的电脑弹出一个对话框:You do not appear to be using the NVIDIA X driver. Please edit your X config。我也不知道什么问题,后来也没有解决,我跳过了这个问题,直接安装cuda。
ctrl+alt+F1 进入命令行界面,登录账号密码进入系统。
关闭图形化形化界面
sudo service lightdm stop
安装cuda:
sudo sh cuda_9.0.176_384.81_linux.run
一直按回车,直至100%。
键入:accept
和一系列yes
询问是否安装driver 一般是键入 no, 因为上面已经安装成功了。
(但是我考虑我以前安装的那个驱动没有成功,我就键入了yes.,一般情况如果安装了驱动,千万不要键入yes!!!!!)
等待所有流程走完之后,会提示缺少一些库,敲入下面语句进行安装:
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
重启图形化界面:
sudo service lightdm start
设置环境变量:
打开主目录下的 .bashrc文件添加如下路径,例如我的.bashrc文件在/home/wangyuanwei下,如果没有找到,则按Ctrl+H键显示隐藏文件。
在文件最后加入如下语句,注意路径中cuda 版本(比如 cuda-9.0)要根据自己安装的cuda版本进行替换。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64
export PATH=$PATH:/usr/local/cuda-9.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-9.0
在命令行敲入如下命令,更新环境变量:
source ~/.bashrc
在命令行敲入如下命令:
nvcc --version
则说明安装成功。
cudnn 下载地址:https://developer.nvidia.com/rdp/cudnn-archive
需要注册帐号登入进去才能下载cudnn
解压后,会看到cuda文件夹, 在当前路径打开terminal, 输入如下语句:
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
查看cudnn版本
在终端输入
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
至此显卡已经全部配置好了,接下来可以安装anaconda 创建环境 下载库进行深度学习研究了。
——————————————————————————————————
这个教程没有问题的,能够安装成功,只是搬到我电脑上来出现了问题。
我全部按照这个流程走下来了,也全部没问题,只是nvidia-settings
时还是有那个问题,现在我的网络只能前向传播,反向传播时有一个 input no contiguous 的错误。