Ubuntu14.04 & CUDA8.0 & Theano & Tensorflow & TensorLayer & Cudnn安装血泪史

1、安装Ubuntu系统

这个只要用优盘做一个启动盘就好,然后安装就好了,为了之后cuda安装顺利,这里特别提示/tmp挂载点尽量大一点,我也不知道具体需要多大,反正我给了100G。

2、卸载和安装显卡驱动

为了之后安装NVIDIA显卡驱动,需要把Ubuntu系统自带的两个驱动给卸载掉

(1)屏蔽集显nouveau,编辑黑名单文件

sudo gedit /etc/modprobe.d/blacklist.conf

(2)在文件末尾加入

blacklist vga16fb 
blacklist nouveau 
blacklist rivafb 
blacklist nvidiafb 
blacklist rivatv 
(这里有一行空格)

(3)删除旧的NVIDIA驱动

sudo apt-get --purge remove nvidia-*
sudo apt-get --purge remove xserver-xorg-video-nouveau

(4)安装依赖项

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

(5)重启Ubuntu,按住Ctrl+Alt+F1进入x-server, Ctrl+Alt+F7是返回

(6)关闭图形环境,否则驱动无法正常安装

输入用户名密码登录,然后键入命令后执行(数字不能用小键盘输入)

sudo service lightdm stop

成功关闭服务后将出现:lightdm stop/waiting

(7)进入驱动所在的文件夹,执行

sudo sh NVIDIA-Linux-x86_64-367.57.run

后面就一路Accept就可以~报错The distribution-provided pre-install script failed!不必理会,继续安装。最重要的一步,安装程序问你是否使用nv的xconfig文件,这里一点要选yes,否则在启动x-window时不会使用nv驱动。

至此,安装成功~
(8)重启 X-window 服务

sudo service lightdm start

查看显卡是否装好,运行

glxinfo | grep rendering

假如显示”direct rendering: Yes”,则已安装。

或者进入系统输入

sudo nvidia-smi

如果看到了显卡和GPU的信息则表示安装成功

(5)-(8)可以用PPA方法,另一PPA源方法参考博客2

3、CUDA安装

(1)CUDA是NVIDIA的编程语言平台,想使用GPU就必须要使用CUDA。首先在官网 https://developer.nvidia.com/cuda-downloads 下载CUDA(.run形式),我下载的是cuda_8.0.44_linux.run

(2)执行安装命令,你下载的是哪个版本就写对应的CUDA版本

sudo sh cuda_8.0.44_linux.run

(3)一路回车看完一堆废话,遇到安装显卡驱动时选择no,其他都选择默认和yes

(4)配置PATH环境

echo 'export PATH=/usr/local/cuda-8.0/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

或者直接用以下命令把引号里的话编辑进去

sudo gedit ~/.bashrc

4、验证

(1) 查看NVCC编译器的版本

nvcc -V

(2) 查看显卡的驱动版本

cat /proc/driver/nvidia/version

或者

nvidia-smi

5、安装python、theano、tensorflow、tensorlayer

sudo apt-get install python-pip python-dev
sudo pip install --upgrade pip
sudo pip install theano
sudo pip install tensorflow
sudo pip install tensorlayer

对于Theano的话需要在根目录新建一个.theanorc

sudo gedit ~/.theanorc

写入以下内容

[global] 
floatX=float32 
device=gpu 
[cuda] 
root=/usr/local/cuda/bin/ 
[nvcc] 
flags=-D_FORCE_INLINES

新建test.py

from theano import function, config, shared, sandbox
import theano.tensor as T
import numpy
import time

vlen = 10 * 30 * 768  # 10 x #cores x # threads per core
iters = 1000

rng = numpy.random.RandomState(22)
x = shared(numpy.asarray(rng.rand(vlen), config.floatX))
f = function([], T.exp(x))
print(f.maker.fgraph.toposort())
t0 = time.time()
for i in xrange(iters):
    r = f()
t1 = time.time()
print("Looping %d times took %f seconds" % (iters, t1 - t0))
print("Result is %s" % (r,))
if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]):
    print('Used the cpu')
else:
    print('Used the gpu')

如果显示used the gpu就说明配置成功

6、安装cudnn

去cudnn官网下载cudnn-8.0-linux-x64-v5.1.solitairetheme8,放到根目录下,进行解压,之后拷贝到cuda文件夹

tar xvzf cudnn-8.0-linux-x64-v5.1.solitairetheme8
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/lib64/libcudnn*

在运行test.py就可以看到cudnn可以用了

7、安装tensorflow

使用pip安装tensorflow可能安装的是仅有CPU的版本,所以去github上下载最新编译的GPU版本whl文件,通常tensorflow更新很快,所以一般是对应了最新的cuda版本,如果不行的话就自己网上查阅教程进行源码安装再编译吧,我台式机里面现在的版本就是对应了文档中cuda8.0和cudnn5.1版本的

参考博客

博客1

博客2

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值