桌面版ubuntu 16.04从零开始配置tensorflow gpu

ubuntu下安装tensorflow gpu版本可视为3步。

1 安装cuda

目前最新版本为cuda 9.1,tensorflow推荐版本为cuda9.0,故我们选择安装9.0版本,cuda 9.0下载
选择合适的安装方式,这里个人选用了runfile安装。

1.1 环境检查

确认有支持cuda的设备
 lspci | grep -i nvidia

确认gcc已安装
 gcc --version

确认内核头文件和包已安装
 uname -r

如未安装可以通过如下命令安装
 sudo apt-get install linux-headers-$(uname -r)

1.2 桌面、驱动等关闭

按下ctrl+alt+f1进入命令行模式,关闭桌面
 sudo service lightdm stop
 sudo init 3

关闭自带驱动重新安装显卡驱动
 sudo /etc/modprobe.d/blacklist-nouveau.conf

在上述配置文件中写入
 blacklist nouveau
 options nouveau modeset=0

保存完后输入
 sudo update-initramfs -u

这里有一个大坑,预警

在完成关闭nouveau后,输入

$ lsmod | grep nouveau

如果没有输出,恭喜你禁用成功,万一有输出,重启,不要使用图形界面,在登录的时候切换到命令行的状态(ctrl + alt + f1)。重复上述操作,没有输出后即为禁用成功,才可进行后续操作,不然可能会造成无限卡登录的情况。
至此,前序准备工作完成。运行以下命令安装cuda,由于网络下载的runfile权限问题,可能不能自动补全,需要手输一下,用户协议一路接受即可,cuda sample可以不装,节约空间。

sudo sh cuda_<version>_linux.run

1.3 环境检查与配置

执行

ls /dev/nvidia*

输出如果包含/dev/nvidia-uvm,则前序步骤完全完成,如果不包含,只有

/dev/nvidia0 /dev/nvidia-modeset /dev/nvidiactl

三个文件中的部分或所有文件,则需添加一个启动脚本

sudo vim /etc/rc.local

如果你是第一次打开这个文件,它应该是空的(除了一行又一行的#注释项外)。这文件的第一行是
#!/bin/sh -e
把-e去掉(这步很重要,否则它不会加载这文本的内容)
然后把下列内容除了#!/bin/bash外复制到其中,在最后的exit 0之前,保存退出。


#!/bin/bash

/sbin/modprobe nvidia

if [ "$?" -eq 0 ]; then
# Count the number of NVIDIA controllers found.
NVDEVS=`lspci | grep -i NVIDIA`
N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`

N=`expr $N3D + $NVGA - 1`
for i in `seq 0 $N`; do
mknod -m 666 /dev/nvidia$i c 195 $i
done

mknod -m 666 /dev/nvidiactl c 195 255

else
exit 1
fi

/sbin/modprobe nvidia-uvm

if [ "$?" -eq 0 ]; then
# Find out the major device number used by the nvidia-uvm driver
D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`

mknod -m 666 /dev/nvidia-uvm c $D 0
else
exit 1
fi

将cuda加入环境

sudo vim /etc/profile
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64 ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

安装完后输入以下命令重启桌面,然后重启电脑。

sudo service lightdm start
reboot

验证驱动版本

cat /proc/driver/nvidia/version

验证CUDA Toolkit

nvcc -V

2 安装cuDNN

下载对应cuda版本的cuDNN即可,只需下载runtime library。
cuDNN runtime library在实际使用中报了奇怪的错,改为使用tar安装,更为灵活。
cuDNN下载

2.1 检查环境

如果是连续操作应该不会有任何问题,可以跳过这一小节,如果和cuda配置时间相差较多,可能会存在显卡驱动版本过老的问题,需要更新,具体版本要求等参考[cuDNN安装说明](https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html

2.2 cuDNN安装

进入cuDNN tar的下载文件夹,输入

tar -xzvf cudnn-9.0-linux-x64-v7.1.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

3 tensorflow gpu安装

tensoflow官网的安装中写了cuda_command_tools的安装,但是在安装cuda的时候,这个应该是已经被一起安装进来了,所以并不需要按照他给定的方法进行安装,直接将环境写入路径即可,

sudo vim /etc/profile

在最后写入

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}/usr/local/cuda/extras/CUPTI/lib64

为了方便,这里个人使用了anaconda代替了系统自带的python版本,并且由于tensorflow是常用工具,并不准备按照官网的教程将其安装入虚环境,首先检查pip

pip -V

确认pip是anaconda的pip后

pip install tensorflow-gpu

由于之前配置完cuDNN之后,我们直接安装的tensorflow,cuDNN的环境还没生效,我们需要重启电脑,重启后即可验证tensorflow是否成功安装。
在检测时候会有warning,无视就好了,能输出结果就行了,等numpy更新看能否解决。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容