起因
本人系统原来在Ubuntu 16.04 LTS, 后来头晕脑胀,点了升级,升级到 Ubuntu 18.04 LTS的过程中,本来一切还算顺利。但是可能存在configuration file的问题,一直报错。报错原因有:
- 位于 /etc/modprobe.d/blacklist-nouveau.conf 里面,不知为何写的不是 “blacklist nouveau”,写的是 “blackout nouveau”。我由于不过脑子,不仔细阅读报错信息,一度改错。
- 进入了infinite login loop 的模式。受害者并非我一人,还有网上广大网友们。但是照着很多帖子改都无果。参见:https://blog.csdn.net/tjuyanming/article/details/79267984
不得不打开tty terminal (Ctrl + Alt + F2),进行数据备份,U盘可以在 “/media/username/“里面找到。准备重装系统。
Ubuntu系统重装盘准备工作
这个Ubuntu自己做了详细的介绍,无需参考任何别的资料,照着做: https://tutorials.ubuntu.com/tutorial/tutorial-create-a-usb-stick-on-windows#0
(Note: 这个是针对Windows的,针对Mac的也有,中文英文的貌似都有,如果你的U盘之前被用做过重装盘,被用过的盘的那一部分是不能直接被读取使用的,需要格式化。格式化的方法:https://www.sysgeek.cn/format-usb-drives-windows-10/ 由于我自己是用Windows电脑格式化的,我就用了diskpart, 别的电脑或许有别的格式化全盘的方法)
开始重装
准备好U盘后,重装非常简单。如果你的电脑有一开机就直接boot那个重装盘的设置,那就最好了,你就可以直接获取信息重装。我的电脑没有,因为之前有装好的系统,所以还是习惯性的boot系统。那么只要在开机的时候频繁按F12就可以了。按F12后选择boot安装U盘就好。
接下来,就直接按照Ubuntu网上自己的安装指南安装就可以了:https://tutorials.ubuntu.com/tutorial/tutorial-install-ubuntu-desktop#0
(Note: 注意一下,我本来希望尽力保留电脑里面原来/home/ directory的东西,安装Ubuntu的时候,它检测得到我之前有ubuntu的系统,问我需不需要保留原系统的/home/文件的基础上再安装,这样就不用洗盘重装了。我第一次是选择了这个,然鹅。。装了整整24小时也没有结束,遂放弃之)
安装Nvidia driver & pytorch(花了很多时间研究成功的步骤)
由于做机器学习的相关工作,NVIDIA GPU加速对我而言很重要,原来的系统默认的是一个nouveau开源显卡程序,必须取代之。
以下命令都是在terminal中操作的:
- 第一步,禁用nouveau:
首先要修改blacklist.conf (sudo vim /etc/modprobe.d/blacklist.conf):
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatvNote: 以上的blacklist列项需要添加在blacklist.conf文件的最后。这其中,我只理解要blacklist nouveau, 就是把nouveau加入到黑名单,其余的我不懂。
其次再修改blacklist-nouveau.conf(sudo vim /etc/modprobe.d/blacklist-nouveau.conf):
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau offNote: blacklist-nouveau.conf 原是没有的,这个是我自己创建的。文档里就写了上述内容。
第二步,更新重启:
直接操作以下命令:sudo update-initramfs -u
reboot第三步就可以安装 NVIDIA显卡驱动了。
参考:https://blog.csdn.net/wuzhiwuweisun/article/details/82753403
之前我是通过命令行安装的,但是安装后老是提示说有问题,修复许久无果。于是不得已选择了Ubuntu自己带的software安装软件。推荐用这个。好像可以比自己通过命令行装更符合系统的configuration。
直接搜索“software updater” -> 点”setting” -> 点”Using NVIDIA driver metapackage from nvidia-driver-390” -> 选择 “Apply Changes”.
Fig1: Software updater
Fig2: Setting
NOTE:安装结束请重启!给CUDA手动降级
参考:https://blog.csdn.net/wuzhiwuweisun/article/details/82753403
由于CUDA 9.0仅支持GCC 6.0及以下版本,而Ubuntu 18.04预装GCC版本为7,手动降级:
打开terminal,直接操作以下命令:sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
作者:wuzhiwuweisun
来源:CSDN
原文:https://blog.csdn.net/wuzhiwuweisun/article/details/82753403
版权声明:本文为博主原创文章,转载请附上博文链接!装完后进入到/usr/bin目录下,执行
输入:
ls -l gcc*
显示(我这里由于已经改过了,所以第一行是链接到4.8了,原来的是链接到7.3):
lrwxrwxrwx 1 root root 7 9月 12 20:43 gcc -> gcc-4.8
-rwxr-xr-x 1 root root 772280 3月 19 2018 gcc-4.8
lrwxrwxrwx 1 root root 22 4月 15 12:52 gcc-7 -> x86_64-linux-gnu-gcc-7
lrwxrwxrwx 1 root root 8 4月 7 02:04 gcc-ar -> gcc-ar-7
-rwxr-xr-x 1 root root 27088 3月 19 2018 gcc-ar-4.8
lrwxrwxrwx 1 root root 25 4月 15 12:52 gcc-ar-7 -> x86_64-linux-gnu-gcc-ar-7
lrwxrwxrwx 1 root root 5 4月 7 02:04 gcc.bak -> gcc-7
lrwxrwxrwx 1 root root 8 4月 7 02:04 gcc-nm -> gcc-nm-7
-rwxr-xr-x 1 root root 27088 3月 19 2018 gcc-nm-4.8
lrwxrwxrwx 1 root root 25 4月 15 12:52 gcc-nm-7 -> x86_64-linux-gnu-gcc-nm-7
lrwxrwxrwx 1 root root 12 4月 7 02:04 gcc-ranlib -> gcc-ranlib-7
-rwxr-xr-x 1 root root 27088 3月 19 2018 gcc-ranlib-4.8
lrwxrwxrwx 1 root root 29 4月 15 12:52 gcc-ranlib-7 -> x86_64-linux-gnu-gcc-ranlib-7
作者:wuzhiwuweisun
来源:CSDN
原文:https://blog.csdn.net/wuzhiwuweisun/article/details/82753403
版权声明:本文为博主原创文章,转载请附上博文链接!发现gcc链接到gcc-7.3, 需要将它改为链接到gcc-4.8,方法如下:
sudo mv gcc gcc.bak #备份
sudo ln -s gcc-4.8 gcc #重新链接
作者:wuzhiwuweisun
来源:CSDN
原文:https://blog.csdn.net/wuzhiwuweisun/article/details/82753403
版权声明:本文为博主原创文章,转载请附上博文链接!对g++做同样的修改:
ls -l g++*
sudo mv g++ g++.bak
sudo ln -s g++-4.8 g++
作者:wuzhiwuweisun
来源:CSDN
原文:https://blog.csdn.net/wuzhiwuweisun/article/details/82753403
版权声明:本文为博主原创文章,转载请附上博文链接!最后看gcc和g++版本号,如果是4.8代表修改成功:
mayunteng@mayunteng-OptiPlex-7040:/usr/bin$ gcc –version
gcc (Ubuntu 4.8.5-4ubuntu8) 4.8.5
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.mayunteng@mayunteng-OptiPlex-7040:/usr/bin$ g++ –version
g++ (Ubuntu 4.8.5-4ubuntu8) 4.8.5
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
作者:wuzhiwuweisun
来源:CSDN
原文:https://blog.csdn.net/wuzhiwuweisun/article/details/82753403
版权声明:本文为博主原创文章,转载请附上博文链接!安装CUDA 9.0
参考:https://blog.csdn.net/wuzhiwuweisun/article/details/82753403
首先去官网下载CUDA安装包,注意根据你的系统选,最后一项选择runfile(local)。
CUDA最新版下载地址:https://developer.nvidia.com/cuda-downloads
以前版本的CUDA:https://developer.nvidia.com/cuda-toolkit-archive
找到CUDA 9.0版本下载,几个小的更新包可以不安装。
进入刚刚下载的CUDA包的路径,执行命令:sudo sh cuda_9.0.176_384.81_linux.run
然后按照下面的执行:
Do you accept the previously read EULA? (accept/decline/quit): accept You are attemptingto install on an unsupported configuration. Do you wish to continue? ((y)es/(n)o) [ default is no ]: y
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 352.39? ((y)es/(n)o/(q)uit): n
Install the CUDA 8.0 Toolkit? ((y)es/(n)o/(q)uit): y
Enter Toolkit Location [ default is /usr/local/cuda-8.0 ]:
Do you want to install a symbolic link at /usr/local/cuda? ((y)es/(n)o/(q)uit): y Install the CUDA 8.0 Samples? ((y)es/(n)o/(q)uit): y Enter CUDA Samples Location [ default is /home/kyle ]:作者:wuzhiwuweisun
来源:CSDN
原文:https://blog.csdn.net/wuzhiwuweisun/article/details/82753403
版权声明:本文为博主原创文章,转载请附上博文链接!配置CUDA ENVIRONMENT
参考:https://blog.csdn.net/wuzhiwuweisun/article/details/82753403
打开.bashrc文件,文件的末尾添加下面两行,注意修改成你的安装路径:sudo vim “~/.bashrc”
export PATH=”/usr/local/cuda-9.0/bin:$PATH” #这里添加路径出错的话最好加上双引号把路径括起来,这里已经加上了双引号
export LD_LIBRARY_PATH=”/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH”
作者:wuzhiwuweisun
来源:CSDN
原文:https://blog.csdn.net/wuzhiwuweisun/article/details/82753403
版权声明:本文为博主原创文章,转载请附上博文链接!测试一下CUDA是否安装成功:
输入:
nvcc -V
显示:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176
作者:wuzhiwuweisun
来源:CSDN
原文:https://blog.csdn.net/wuzhiwuweisun/article/details/82753403
版权声明:本文为博主原创文章,转载请附上博文链接!编译 CUDA Samples:
mayunteng@mayunteng-OptiPlex-7040:~$ cd NVIDIA_CUDA-9.0_Samples/0_Simple/vectorAdd
mayunteng@mayunteng-OptiPlex-7040:~/NVIDIA_CUDA-9.0_Samples/0_Simple/vectorAdd$ make
mayunteng@mayunteng-OptiPlex-7040:~/NVIDIA_CUDA-9.0_Samples/0_Simple/vectorAdd$ ./vectorAdd
[Vector addition of 50000 elements]
Copy input data from the host memory to the CUDA device
CUDA kernel launch with 196 blocks of 256 threads
Copy output data from the CUDA device to the host memory
Test PASSED
Done作者:wuzhiwuweisun
来源:CSDN
原文:https://blog.csdn.net/wuzhiwuweisun/article/details/82753403
版权声明:本文为博主原创文章,转载请附上博文链接!安装CUDNN 7.05
参考:https://blog.csdn.net/wuzhiwuweisun/article/details/82753403
从官网:https://developer.nvidia.com/cudnn 找到这个版本,对应自己的系统,下载后解压缩。
先进入压缩包解压后的路径,再执行下面的指令cd cuda
sudo cp lib64/ /usr/local/cuda/lib64/
sudo cp include/ /usr/local/cuda/include/
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*作者:wuzhiwuweisun
来源:CSDN
原文:https://blog.csdn.net/wuzhiwuweisun/article/details/82753403
版权声明:本文为博主原创文章,转载请附上博文链接!到此,CUDNN安装完成!
安装Pytorch
这个我就很简单了,直接是按照pytorch官网安装测试的。直接到https://pytorch.org/ 选好你的系统的对应信息,然后用anaconda安装就好了。anaconda的安装也可以参考wuzhiwuweisun文章开头写的。在这里就不累赘重复了。
(Note: 这个过程,我找了很多资料,失败了很多次。这个是最终适合我的流程。依据个人系统不同,可能不具备普适性,主要记下来给大家参考以及自用。)