ubuntu18.04cuda9.1深度学习环境安装

dwSun 2018-05-08 16:20
关注文章

os安装

目前对tensorflow和cuda支持最好的是ubuntu的18.04 ,16.04这种lts,推荐使用18.04版本。非lts的版本一般不推荐。

18.04这个版本里面,cuda已经包含到了官方的repo里面,不需要额外设置,直接apt-get就可以安装了。

这里需要注意的是,ubuntu有桌面版本和服务器版本的区别,自己用的话,肯定是要桌面版本的,但是如果只是放在角落里做运算机又或者是桌面版本安装失败的时候,可以考虑服务器版本。

ubuntu自带的开源驱动似乎有点问题,1080ti的显卡不支持,所以只能用服务器版本装好之后,再考虑怎么装上桌面。

而且ubuntu从17.04的很多东西都可以安装在 $HOME/.local 下面,省去了很多的麻烦。

从ubuntu官网下载ubuntu的iso镜像,balabalabala。

系统安装就完成了。 装完之后,推荐先升级一下系统:

sudo apt-get update
sudo apt-get upgrade

试了一下,默认的源速度不怎么好,换一个国内的源。国内的话,有ali,163,tuna,中科大。参考各个国内源说明文档去修改sources.list即可。

ali的ubuntu18.04 sources.list设置

deb https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

升级完系统之后,重启一下系统。

sudo reboot

安装完之后的设置

因为系统里面现在还啥也没有,安装完之后对系统做一个易用性的设置。

安装git rsync zsh aptitude

sudo apt-get install git rsync zsh aptitude

zsh 配置,安装oh-my-zsh

这里去找oh-my-zsh的安装方法。按照提示安装即可。

安装完成之后,打开home目录下的.zshrc文件进行编辑,配置我们用到的主题和一些插件。

这里用的几个插件,有的不包含在oh-my-zsh里面,我们需要安装一下:

sudo apt-get install autojump zsh-syntax-highlighting

nvidia驱动安装

ubuntu的官方apt源就有最新最稳定的nv显卡驱动。使用ubuntu自己带的驱动安装工具直接安装就可以。同时还可以看看有什么其他的驱动可以安装以提高系统性能的。 使用命令行安装的方式如下:

sudo aptitude install nvidia-384 --without-recommends

不同的编号支持不同的显卡,如果是1080ti等比较新的显卡,直接用编号最高的应该就没问题。 比较老旧的显卡,可以到nvidia的官方网站查询。

> 使用--without-recommends可以只安装需要的东西,其他推荐安装的东西可以都不安装了,省了很多空间,

安装完成之后,需要重启一下系统。

sudo reboot

> 很多教程说要去下载sh的驱动文件,进行编译安装,这里不太推荐,因为很麻烦而且容易出问题,ubuntu对非开源驱动的支持还是比较好的,直接用官方软件源里面的驱动就可以。

>关于驱动的安装,有文章提到过cuda里面自己带的驱动是有问题的,所以需要单独装驱动,而不是使用cuda里面自己带的。但是我们这是测试过的发现,就算装的不是最新的驱动,cuda也会尝试给更新到最新,而且看上去没啥问题,也许是特定版本的驱动才会出现的问题。这个需要具体问题具体分析了。

cuda, cudnn的安装

官方的tensorflow发行还不支持cuda9.1,但是我们用的不是官方的,所以就可以很happy的用cuda9.1了。 pip中安装的官方发行的tensorflow版本已经支持cuda9和cudnn7,所以如果不使用cuda9.1的话,可以直接用pip安装官方版本的tensorflow

cuda已经包含在ubuntu官方的repo里面了,所以这里不需要下载了。

下载cudnn

注册一个nvidia的开发者帐号,下载cudnn7.1。地址 >最近国内的用户访问这个网址会出现问题提示正在维护,具体原因。。。请自备梯子或者用我已经下载好的。

找不到的可以到这里下载我已经下载好的

安装cuda

直接在ubuntu的官方repo里面执行apt安装就可以了

sudo aptitude install nvidia-cuda-toolkit --without-recommends

在18.04版本之前,cuda都是单独安装的,安装到了/usr/local下面,所以需要一些其他的设置,而现在,cuda直接安装到/usr/lib下面去了,就不需要那些单独的设置了。

安装cudnn

找到下载cudnn的目录,执行:

tar -zxf cudnn-9.1-linux-x64-v7.tgz
cd cuda
mkdir -p lib/x86_64-linux-gnu
mv lib64/* lib/x86_64-linux-gnu
rm -rvf lib64
sudo rsync -avp ./ /usr

在18.04以前的版本,都是要单独安装cuda的,但是18.04里面ubuntu的官方repo自带了cuda9.1所以以前安装cudnn的方式,其实不适用了。考虑cudnn只是一堆动态链接库,所以放到哪里都应该是好使的,在这里,简单调查了一下,18.04自带的cuda被装到了/usr/lib/x86_64-linux-gnu下面,所以cudnn也放到一样的位置就可以了,亲测可用。

安装MKL

MKL是intel出的深度学习库,可以在CPU上极大的加速tensorflow的运行速度,虽然我们有GPU,但是CPU上加个速啥的也没坏处不是。

稍微注意一下的是,在当前时间点,2018/05/07,mkl-dnn还不是很稳定,所以不太建议用,mkl部分的内容可以直接略过。

参考内容

依赖安装

MKL是需要编译的,所以我们需要安装一堆编译依赖库和工具:

sudo aptitude install git cmake doxygen

代码下载,准备,编译

git clone https://github.com/intel/mkl-dnn.git
cd mkl-dnn
cd scripts && ./prepare_mkl.sh && cd .. #这一步需要耗费一点时间,主要是那个包有70MB,有点大。
mkdir -p build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/home/$USER/.local .. && make -j 8
make install

安装完成后,在.bashrc里面加入下面这一行,不然会报找不到lib的错误:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/$USER/.local/lib

注意,由于这里指定了DCMAKE_INSTALL_PREFIX,所以全程不需要sudo

>如果只装mxnet或者安装tensorflow不带mkl的版本,可以不用安装mkl。mkl只能带来cpu上的加速,对GPU的速度没啥影像。

安装tensorflow

这里下载非官方的支持cuda9.1和cudnn7.1的预编译版。

注意这里有很多不同的版本,我们要找的是带mkl,而且支持GPU的版本,这里使用的是标签为TensorFlow 1.5.0 (GPU, CUDA 9.1, Generic) 的版本。 下载完后,重开一个终端,输入:

sudo aptitude install python3-pip
pip3 install tensorflow-1.5.0-cp36-cp36m-linux_x86_64.whl

需要注意的是,这里提示下载的是不带优化版本的,因为我的电脑CPU是e3的,不带avx2指令集。官方放在pypi里面的tensorflow-gpu从1.7版本开始就默认开启了avx2的指令集优化,如果电脑的cpu型号比较老,安装完成之后,运行的时候出现段错误之类的问题,可以考虑使用generic版本,也就是不带优化的版本。

安装mxnet

重开一个终端,输入

pip3 install mxnet-cu91mkl

mxnet1.2.0增加了很多新功能,模型量子化(低精度inference支持),包括对intel的mkl-dnn的支持,大幅度优化了cpu上训练和inference的速度(20%-30%),所以很值得期待,但是当前时间点,2018/05/07,mxnet1.2.0还处在pre release的状态,很不稳定,不太推荐使用。

测试安装

balabalabala

总结

tensorflow官方很傲骄,表示短期内不会支持cuda9.1.不知道他们在想啥,所以我们只好借助民间势力。 感谢tinymind的盆友们,为广大深度学习爱好者们提供了这样一个版本。

至于mxnet,官方就提供了cuda9.1等不同版本的安装包,直接可以安装,很方便。

如果不是有什么特殊原因,建议直接使用预编译的版本,不要尝试从源代码编译安装。

配套视频https://edu.csdn.net/course/detail/8056该视频为收费课程,仅课程相关人员免费。

文章被以下专辑收录
{{panelTitle}}(1)
支持Markdown和数学公式,公式格式:\\(...\\)或\\[...\\]
梨落琴川 2018-12-10 19:44

你好,请问,安装好的tensorflow, 为什么不能导入pycharm?

关注微信公众号