- 安装NVIDIA驱动
#2019年2月26经历艰苦奋斗之后成功
首先U盘安装Ubuntu16.04.5
之后开机时按e进入编辑开机指令的模式,找到qiute splash,在其后加上nomodeset
之后按F10进入系统,会发现机器界面变卡,在detail里边会发现Graphics是llvmpipe,说明成功一半了。
之后在Settings-Software&Updates-Ubuntu software-Download from选择Other,切换到国内源(当时连手机热点,切到了阿里源)。在附加驱动里选择“合适的、测试好的NVIDIA驱动“(我选的是384)。apply之后restart就行能看到成功驱动NVIDIA显卡了。
#此方法是无数次.run安装方法测试后自己想出的。可能在我这台电脑用.run安装没有这种图形化安装好。实践证明电脑默认关闭secure boot,所以跟secure boot disable与否没有关系。同时也不用理会i915问题。
#2019年2月28
由于分配给根目录/的空间太小,所以我决定重装系统,从固态分出1G给/boot,从E盘分出20G给/home ,再还是从E盘分出160G给根目录。这种方式重装Ubuntu16之后,用之前附加驱动装Nvidia的方法死活驱动不起来,用.run的方法也是驱动不了。折腾了一个下午之后,我决定放弃16,重装Ubuntu18。现在在附加驱动安装推荐的390版本试试(没有加nomodeset),希望顺利。如果安装成功,说明不是根目录不在激活的盘符的问题,因为现在只有boot在启动盘。实验成功了!18成功驱动起了Nvidia。版本是390.77。因为现在驱动是390,所以下边CUDA也要对应着换。这也说明在非系统盘启动的操作系统也能完美操作独显。如果/boot也在非系统盘,会发现启动不了Ubuntu。
- 安装CUDA和CuDNN
首先查看自己显卡的能力https://developer.nvidia.com/cuda-gpus。850M的能力等级为5。通过
在https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html的“Table 1. CUDA Toolkit and Compatible Driver Versions”表格中,因为我的驱动版本是384.130,所以得安装CUDA9以下的。由于怕再次安装新的NVIDIA驱动而导致的不工作问题,因此我就不折腾着升级了。
https://developer.nvidia.com/cuda-toolkit-archive 找到匹配版本的CUDA。
https://developer.nvidia.com/rdp/cudnn-archive CuDNN版本,可以看到得选cuDNN7.4.2。下载cuDNN需注册一个Nvidia的开发者账号,由于之前我已经注册过了,所以直接登陆就好了。
由于Ubuntu16.04.5的GCC版本是5.4.0,而CUDA9的online documenthttps://docs.nvidia.com/cuda/archive/9.0/cuda-installation-guide-linux/index.html中的GCC是5.3.1,不知道需不需要进行降级处理。看网上博客https://blog.csdn.net/cheneykl/article/details/79114825说CUDA8.0的GCC使用5.3.1,但是已经兼容5.4,因此我推测比CUDA8更高级的CUDA9不需要降级处理。
因此,暂时决定使用CUDA9+cuDNN7.4.2。
Distribution | Kernel* | GCC | GLIBC | ICC | PGI | XLC | CLANG |
Ubuntu 16.04 | 4.4 | 5.3.1 | 2.23 | 17.0 | 17.1 | NO | 3.9.0 |
查看本机是否有正确的内核Head和安装包
CUDA的安装要求kernel的版本跟kernel head以及跟开发包的版本必须匹配。因为CUDA在安装的时候如果检测到没有安装过kernel head和开发包会安装相应kernel head和开发包,但他是安装最新版,不一定跟本机的kernel匹配。所以最好手动先安装正确的版本的kernel header和开发包。
查看本机kernel版本:uname -r
安装匹配的kernel header和开发包(ubuntu):sudo apt-get install linux-headers-$(uname -r)
sudo sh cuda_9.0.176_384.81_linux.run --override(后边有--override选项的意思是忽略编译器、第三方库和工具包检测检查,这将阻止CUDA Toolkit和CUDA Sample的安装。本次安装没有使用override选项。)
然后就进入安装过程,开始都是End User License Agreement,你可以CTRL +C 跳过,然后accept。提示安装380驱动时选择no。提示安装sample时可以no也可以yes,sample占221.8M空间。
sudo gedit ~/.bashrc
添加路径,可以加注释以便识别:
# 随便写点啥表示你自己写的不是电脑加的,删除的时候好识别
export PATH="/usr/local/cuda-9.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH"
export CUDA_HOME="/usr/local/cuda-9.0"
使之生效:
source ~/.bashrc
打补丁(和安装cuda一样,不过简化很多):
sudo sh ./cuda_9.0.176.*(总共4个,个人感觉只需要打最新的补丁)
检测CUDA是否安装成功
nvcc -V
无报错信息输出则对。
tar xvzf cudnn-9.0-linux-x64-v7.4.2.24.tgz
然后将库和头文件copy到cuda目录(一定是你自己安装的目录如/usr/local/cuda-9.0),不过正确安装的话,ubuntu一般就会有软链接/usr/local/cuda -> /usr/local/cuda-9.0/
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 /usr/local/cuda/lib64/libcudnn*
检测cuDNN是否安装成功:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
无报错信息则对。
到此,全部安装结束,接下来就可以安装tensorflow,caffe等深度学习框架了。
#2019.2.28
https://blog.csdn.net/u010801439/article/details/80483036
因为安装18之后,驱动版本号只有390.77,因此需要安装CUDA9。而CUDA9的GCC要求6.0以下,而Ubuntu 18.04预装GCC版本为7.3,因此还需要对GCC进行降级处理。根据教程,降级到4.8。
sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
发现gcc链接到gcc-7.0, 需要将它改为链接到gcc-4.8,方法如下:
sudo mv gcc gcc.bak #备份
sudo ln -s gcc-4.8 gcc #重新链接
需要将g++链接改为g++-4.8:
sudo mv g++ g++.bak
sudo ln -s g++-4.8 g++
再查看gcc和g++版本号:
gcc -v g++ -v
均显示gcc version 4.8 ,说明gcc 4.8安装成功。
这里打算降级到4.8是因为兼容一些老程序。不过不知道以后会不会产生什么不良后果。
安装Anaconda
https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
在清华开源镜像站下载anaconda。
添加Anaconda 仓库的镜像,运行以下命令:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
(后续TensorFlow安装过程待更)