现在已经研一下学期,关于深度学习东西也看了一些,写点东西对这么一段时间学习的东西做一个总结,顺便做个备忘录。
首先是ubuntu的安装。
我的电脑是微星笔记本ge62-078CN 显卡是1060-3G(似乎用来深度学习有点不够用?不过没关系还有谷歌云。)
写下这篇博文的时间是18年5月16日,ubuntu 18.04已经发布,不过经过测试并不能安装上cuda,所以还是用回ubuntu 16.04。也方便出现问题之后在网上寻找答案。
一 安装ubuntu及相关软件
一 安装ubuntu 16.04
首先是在windows中划分出安装ubuntu的空间,我这里设置的是200G。在官网下载ubuntu 16.04安装包,u盘制作镜像。我的电脑是uefi启动,所以制作双系统较为简单。(在安装ubuntu前确认电脑是否是uefi启动)插入u盘,重启电脑进入进入BIOS,关闭安全启动,保存设定再次重启电脑,按下F11进入开机启动项,选择u盘启动。
进入ubuntu安装之后选择try ubuntu without install,按e进入grub修改,在倒数第二行“quiet splash”后面空一格,添加“nomodeset”,按F10保存更改并进入try ubuntu。如果不加这一项会使得ubuntu在完成安装之后选择重新启动无效,只能强制关机。
进入try ubuntu之后选择install ubuntu安装ubuntu,个人建议在断网环境下安装。在install ubuntu界面,由于分辨率问题会使得部分按钮无法显示,按Ctrl+F7即可拖动窗口。
关于分区有几点需要注意。
确定电脑是不是uefi启动,一般现在新电脑都是uefi启动。关于uefi可以百度查询详情。uefi启动的电脑在分区时就不需要创建"\boot"分区,而是要去创建"\efi"分区。
不同于传统的"\boot"分区,"\efi"分区时逻辑分区。
以下是我在ubuntu安装中选择something else的分区情况:(我没有选择与windows共存,似乎选择这个要简单一点?)
\efi:逻辑分区,文件起始位置,512MB
\swap:主分区,文件起始位置,8000MB(我的内存大小是8G,看网上有人说要设置为内存两倍,有人说现在内存已经足够大了,不需要创建交换分区)
\home:逻辑分区,文件起始位置,剩余全部硬盘空间。
\:逻辑分区,文件起始位置,80000MB 80G。
等待安装,重启电脑,进入Bios更改硬盘读取顺序就可以进入ubuntu的grub界面选择开机时ubuntu还是windows。我没有做这一边,所以每次开机按F11选择ubuntu进入就可以了。
二 显卡驱动安装
进入ubuntu的grub界面之后,选择ubuntu,按E开始编辑grub。在倒数第二行“quiet splash”后面空一格,添加“nomodeset”,按F10保存更改并进入ubuntu。否则会出现黑屏,紫屏等情况,具体原因就是ubuntu的开源显卡驱动和显卡不兼容,屏蔽即可。
进入ubuntu之后首先是安装显卡驱动。看了许多网上安装方法发现都时先屏蔽开源驱动,之后安装Nvidia官方显卡驱动。在我实际操作的过程中出现了种种问题。之后我发现只要在ubuntu的系统设置,软件更新中,附加驱动选择nvidia的官方驱动即可。
在手动安装驱动中出现的两个问题在这里提供解决方案。
1.进入tty1之后无限弹出“pci bus”的报错信息。
解决方法:打开终端,输入
<span style="font-family:SimSun;"> sudo gedit /etc/default/grub</span>
进入grub之后在"quiet splash"后面添加"pci=noaer",保存并退出。在终端中进行更新。
<span style="font-family:SimSun;"> sudo update-grub</span>
2.安装完成Nvidia驱动之后,在软件中提示缺少X service
解决方法:通过ubuntu软件更新中的nvidia的方法安装。我尝试过安装X service但是还是不行,欢迎有解决方法的dalao提供解决方法。
安装完显卡驱动之后重启电脑就进入ubuntu就有了正确的分辨率。
三 安装sogou输入法,chrome,shadowsocks-qt5
sogou输入法安装参考:Sogou输入法
chrome安装:
我安装chrome时,再导入安全密钥时出错
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
所以直接在windows去下了chrome.deb,回到ubuntu中安装。
<span style="font-family:SimSun;">sudo dpkg -i chrome-[version]</span>
shadowsocks-qt5安装以及chrome中设置参考:shadowsocks-qt5
二 安装CUDA,CUDNN,Anaconda,tensorflow
一 安装cuda 9.0
进入cuda官网,可以看到最新的cuda是9.1,然而tensorflow1.7只支持9.0,所以选择legacy releases。选择cuda9.0.选择好自己的操作系统之后,选择deb(local)在下载处有安装的详细命令。按照命令操作即可。推荐参考install guide。安装完成后可以在官方指南的7.1.1看到环境变量设置。
<span style="font-family:SimSun;">$ export PATH=/usr/local/cuda-9.1/bin${PATH:+:${PATH}}</span>
注意把这里的cuda-9.1改成cuda-9.0即可
测试:
<span style="font-family:SimSun;">nvcc -V</span>
会输出nvcc版本,如果报错则环境变量没有设置好。
二 安装cudnn
进入cudnn官网,首先会让你注册,填写一些资料之后,选择我接受协议即可看到下载列表。注意下载与cuda9.0相对于的版本。之后打开官方文档会有安装详细教程。
三 安装anaconda
国内似乎打不开anaconda官网,可以选择去清华源下载。最新的anaconda3支持python3.6。下载deb文件之后,使用命令对anaconda进行安装。基本上安装都是选择yes。最后提示是否安装VS code可以选择no。运行
<span style="font-family:SimSun;">conda -V</span>
查看conda版本,如果提示找不到conda命令,那就是anaconda环境变量没有设置。
四 安装tensorflow
安装tensorflow有多种方法,这里使用anaconda安装tensorflow。貌似国内也打不开tensorflow官网,看不到tensorflow官方安装文档。
1. 创建tensorflow环境
<span style="font-family:SimSun;">$ conda create -n tensorflow pip python=3.6</span>
2.激活tensorflow环境
<span style="font-family:SimSun;">$ source activate tensorflow</span>
3.发出命令安装tensorflow
<span style="font-family:SimSun;">(tensorflow)$ pip install --ignore-installed --upgrade tfBinaryURL</span>
其中 tfBinaryURL
是tensorflow软件包的位置。
4.验证安装
激活tensorflow环境
输入
<span style="font-family:SimSun;"># Python
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))</span>
输出
<span style="font-family:SimSun;">Hello, TensorFlow!</span>
tensorflow安装完成。
以下是tensorflow软件包位置:
python 3.6 GPU
<span style="font-family:SimSun;">https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.6.0-cp36-cp36m-linux_x86_64.whl</span>
python 3.5 GPU
<span style="font-family:SimSun;">https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.6.0-cp35-cp35m-linux_x86_64.whl</span>
python 2.7 GPU
<span style="font-family:SimSun;">https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.6.0-cp27-none-linux_x86_64.whl</span>