换了个小米笔记本用来办公,内置win10,因为硬盘容量较小,搭建linux双系统的想法只好暂时搁置,忍着用了几个月。
前几天买了块硬盘,升级了一下笔记本,这下终于可以装上双系统了,程序猿还是觉得linux用起来舒服啊(打游戏除外…)= =
本来打算装ubuntu的,但是偶然间发现了国内团队做的deepin linux,感觉很赞啊,就用上了。程序猿嘛,接下来,就是开发环境的搭建了。于是,就有了这篇博文。
参数:
搭建过程中碰到了很多坑,中间有一次失败尝试导致系统出现异常,重装了系统。现总结正确安装方式,一来给自己备忘,二来给有需要的同学作为参考。
用的是deepin 15.5系统,该系统提供驱动管理工具,可以很简单为显卡安装驱动。ubuntu系统提供的也有类似的工具,其他系统我不太熟悉,请自行研究。装驱动还是挺简单的,多搜一下就可以了。
下图是deepin的驱动管理工具,我为显卡安装了大黄蜂版的显卡驱动(bumblebee-nvidia和nvidia-driver),如下图,上面那个就是MX150的显卡驱动,下面那个是我的核显驱动,可以不用管它。
选中对应驱动,保存即可。
打开终端,在终端内输入以下命令:
sudo apt-get update
sudo apt-get install nvidia-smi
通过nvidia-smi,我们可以查看显卡信息,以确认我们的驱动是否正确安装了。在终端内输入:
optirun nvidia-smi
因为我们安装的是大黄蜂版的显卡驱动,所以显卡是由bumblebee进行管理的。为了降低能耗,平时独显是处于关闭状态的,如果有程序需要使用到独显,可以通过optirun进行启动。对于做深度学习训练这样可能太麻烦了,是有解决方法的,后面我会详细介绍。
如果显卡驱动安装正确,运行上面的命令,你会看到类似于下面的输出:
至此,驱动安装完成。
兼容原因,安装tensorflow-gpu 1.4版本。
很简单,如果没安装pip的话,要先安装pip:
sudo apt-get install python-pip
安装完成后,输入:
pip install tensorflow-gpu==1.4
即可完成tensorflow-gpu 1.4版本的安装。
需要注意的是,tensorflow-gpu版本需要完成cuda和cudnn的安装才能运行。这个时候的tensorflow是不能运行的,在python中输入import tensorflow
会报错。
请往下读。
为了兼容,我们这里安装cuda 8。
网上找了很多教程,结果还是在这里卡了很久,因为很多都不适用。别人用起来正常,在我这里可能就出错了。最后,我选择了相当简单粗暴的一种方法:
打开终端,输入如下命令:
sudo apt install nvidia-cuda-dev nvidia-cuda-toolkit nvidia-nsight nvidia-visual-profiler
打完收工,安装完毕!
兼容原因,这里安装cudnn 6。
首先,从官网下载压缩包cudnn-8.0-linux-x64-v6.0.tgz
。免费下载,需要登录,如无账号请自行注册。下载地址为https://developer.nvidia.com/cudnn
对压缩包进行解压,得到一个名为cuda的文件夹。正常来说,我们需要将cuda中的一些文件复制到/usr/local/cuda-8.0/***
的路径下,并配置相关路径。但这里,我们的做法有点不同。
因为,我们是用apt-get安装的,所以,我们是不存在/usr/local/cuda-8.0/***
路径的,也不需要配置环境路径。但复制还是要复制的,不过位置变了一下,这里是第二个卡住我的问题点,找了很久,知乎的一位答友吕俊奇的回答给了我启发(回答的链接我会放到文末的参考中),这里要做如下操作:
第一,将解压出来的cuda/include/
下的cudnn.h
文件复制到/usr/local/include/
目录下。
第二,将cuda/lib64/
目录下的所有文件复制到python环境的tensorflow包的tensorflow/python/
目录下,比如,对我来说该路径就是/home/aaron/.local/lib/python2.7/site-packages/tensorflow/python
,这个路径因人而异,请参考我的路径自行查找。
至此,安装全部完成。我们测试一下是否安装成功。
在测试之前,埋一下前面的坑。
关于bumblebee版显卡驱动在深度学习训练中的开启和关闭:
在进行训练前,在终端输入sudo tee /proc/acpi/bbswitch <<< ON
,可开启显卡。
在训练结束后,在终端输入sudo tee /proc/acpi/bbswitch <<< OFF
,可关闭显卡。
开启显卡在终端中打开python,并尝试引入tensorflow:
python
>>> import tensorflow as tf
如果没有安装成功,会报错。
如果没有报错,那说明安装的没有问题。继续输入:
>>> sess=tf.Session()
好了,恭喜,到了这里,你已经完成了全部内容,祝你好运!
[1] Deepin15.4 下 CUDA 配置方法
[2] deepin15.5下安装tensorflow
[3] Ubuntu16.04无法安装CUDA吗? - 吕俊奇的回答 - 知乎