其实,机器学习大部分的工作,还是在基于Linux内核的操作系统上完成的,所以再写一篇Ubuntu下的安装过程。
开始步骤其实可以参考我的博客https://blog.csdn.net/ezhchai/article/details/69663082
不论是caffe还是tensorflow,用到GPU都要先安装NVIDIA的驱动和cuda以及cudnn,这个过程没区别。
首先是安装NVIDIA显卡驱动,然后是cuda和cudnn。这些均可以参考caffe安装的博客Caffe开发(1):Ubuntu 16.04环境下caffe配置来实现。
这里需要说明两点:
①安装NVIDIA显卡驱动之前,需要先禁用Ubuntu自带的nouveau驱动,否则会出现显示不正常,以及无法进入系统(Login Loop)等一系列问题。方法如下:
- 在/etc/modprobe.d/目录下,新建blacklist-nouveau.conf
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
添加以下语句
blacklist nouveau options nouveau modset=0
- 执行
sudo update-initramfs -u
,使更改生效; - 执行
lspci | grep nouveau
查看是否有内容,如果没有内容,说明更改生效;如果有内容,就重启一下。
这里想吐槽一下,Linux做开发挺好,但不太适合办公系统,如果用它来替代windows进行办公的话,对使用者的素质要求会高不少,很多问题不是很容易搞定,严重影响办公效率。所以,如果我们做国产自主系统的话,选择Linux内核做基础,用户友好性上要达到Windows或者MacOS的程度,还有很多工作要做。
②安装cuda和cudnn,要注意版本的匹配。
- 在下载cudnn时,会提示其对应的cuda版本,cuda和cudnn版本必须匹配;
- 在安装tensorflow时,要注意tensorflow和cuda以及cudnn版本的匹配,这个在后面的安装过程中会有所体现。
安装完cudnn后,就要关注Python了。Ubuntu16.04自带python2和python3,直接在Terminal中输入python命令,即可进入python环境。如下图所示。
通过python的pip安装tensorflow即可,不过可惜的是pip不是默认自带的软件,需要安装,按提示安装即可。我用python3比较习惯,所以安装python3的pip,也就是pip3。
pip安装完成后,可以直接用pip安装tensorflow。
可以看到安装失败了,网络太差,在线安装下载速度慢,那比较好的方法是直接下载tensorflow的gpu版本的whl包。网址是https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.3.0-cp35-cp35m-linux_x86_64.whl
之所以选择1.3版本,是因为1.5版本需要cuda9.0,我安装的是8.0,版本不匹配是不能用的。下载好之后,还是用pip安装即可。
可以看到,还是会下一些依赖包,以保证版本匹配。不过这个就小多了,安装成功。这事要测试一下tensorflow是不是能用,简单的方法就是进入python环境,import一下tensorflow,看看成功与否。
很不幸,不成功。这里提示,找不到libcudnn.so.6文件,说明1.3版本要求cudnn版本为6,我的cudnn版本是5,所以需要重新安装cudnn,安装过程也是参考Caffe开发(1):Ubuntu 16.04环境下caffe配置
上图中,可以看到安装好cudnn 6以后,import tensorflow时,就不报错了,说明已经可以使用了。 当然,安装tensorflow有5种方法,还可以用Virtualenv ,Anaconda, Docker和源码安装。有时间会把源码安装过程也写一下,另外几种和pip没什么本质区别,就不尝试了~