ubuntu14.04+GTX960+cuda8.0+cudnn5.1+Theano+Tensorflow安装教程

折腾了两天总算是能跑起来了,当初是想装tensorflow的,但是装着装着发现theano比较好装,现在能跑theano,先看看这个,过段时间再折腾tensorflow。

一、NVIDIA驱动及cuda8.0安装

最开始的时候看网上的教程都是要先安装NVIDIA驱动,但是装完重启电脑后会一直再登录界面循环。
最后发现其实cuda里面有NVIDIA的显卡驱动,所以直接装cuda就好了。
然后有一点也有.deb安装的,但是这个安装好了重启之后会卡在ubuntu的logo那里(还不知道怎么解决)
但是有一点,在安装之前一定要先禁原先的驱动nouveau 如下:

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
 然后添加
blacklist nouveau 
 保存退出文件
sudo update-initramfs -u

然后重启电脑,在出现登录界面时,登录tty1,按Ctrl + Alt + F1,在文本模式中登录。

关闭桌面服务

sudo service lightdm stop

这步对于安装Nvidia驱动至关重要

运行.run文件,不要覆盖opengl

sudo chmod +x cuda_8.0.44_linux.run
sudo ./cuda_8.0.44_linux.run --no-opengl-libs

在安装过程中,
1、Accept EULA conditions
2、Say YES to installing the NVIDIA driver
3、SAY YES to installing CUDA Toolkit + Driver
S4、ay YES to installing CUDA Samples
安装完成, check device nodes :

Check if /dev/nvidia* files exist

如果没有的话

sudo modprobe nvidia

重启桌面服务

sudo service lightdm start

此时能够登录,没有login-loop问题。
设置环境变量
在/etc/ld.so.conf.d/建立cuda.conf的文件
写入

/usr/local/cuda-7.0/lib64

然后

sudo ldconfig

添加PATH,为了长久添加,在/etc/profile加入 (sudo gedit /etc/profile)

export PATH=/usr/local/cuda-7.0/bin:$PATH

立即生效

source /etc/profile

注意:直接在终端export PATH=/usr/local/cuda-7.0/bin:$PATH是暂时的
验证驱动版本和CUDA版本:

cat /proc/driver/nvidia/version
nvcc -V

然后验证cuda是否安装成功

# 安装一些可能需要的包
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

进入cuda-8.0的samples文件夹,然后

make

等待十来分钟。
编译完成后,可以在Samples里面找到bin/x86_64/linux/release/目录,并切换到该目录
运行deviceQuery程序

./deviceQuery

最后一行会有

Result = PASS

运行bandwidthTest程序

./bandwidthTest

最后一行会有

Result = PASS

二、cudNN安装

先去官网下载cudNN的安装包到桌面
然后

cd /home/ttt(我的用户名)/Desktop
tar xvzf cudnn-8.0-linux-x64-v5.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/lib64/libcudnn*

三、安装Theano环境

# 安装一些可能需要的包
 sudo apt-get install -y python-dev python-pip python-nose gcc g++ git gfortran
 sudo apt-get install -y libopenblas-dev liblapack-dev libatlas-base-dev

安装NumPy

# 安装NumPy,这个安装过程需要等待会,因为需要编译,所以得花一点时间。
 # 实际上后面安装的SciPy和Theano都会花时间编译的,整个安装过程还是要挺久的。
 sudo pip install numpy

进行测试。

python -c 'import numpy; numpy.test()'

最后一行会有OK字样

安装SciPy

# 安装方法,耐心等待编译吧:)
sudo pip install scipy

进行测试

python -c 'import scipy; scipy.test()'

最后一行会有OK字样

安装Theano

# 安装方法,还是要耐心等待编译安装的,感觉比较耗时
 sudo pip install Theano

开始测试

sudo python -c 'import theano; theano.test()'

最后一行会有OK字样,这一步特别慢,我跑了快一个小时,遇到过一个错误,但是不要怕在末尾会显示什么错误,我的错误是缺少一个包,然后用sudo apt-get install (包名) 安装就好

四、最终测试

创建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')

这时候不要立马运行
在用户目录下新建.theanorc配置文件,设置采用GPU替代CPU进行运算:
新建配置文件

sudo vi ~/.theanorc

添加如下内容:

[global]
floatX=float32
device=gpu

然后

python test.py

五、Tensorflow安装

pip install tensorflow-gpu

一句话。。。然后好了。。。。
最好看官方文档,最有用了。。。。网上的教程乱七八糟的。。。。

https://www.tensorflow.org/install/install_linux

大功告成啦~~~~~~~

附上参考的文章:

http://blog.csdn.net/lixintong1992/article/details/51156368
http://www.jb51.cc/article/p-hjhmqlxc-bbh.html
http://blog.csdn.net/santo_wong_94/article/details/50735418

相关文章

文章浏览阅读2.3k次,点赞4次,收藏22次。最近安装了CARLA预...
文章浏览阅读6.3k次,点赞5次,收藏15次。在清华镜像中下载U...
文章浏览阅读5k次。linux环境, python3.7.问题描述: 安装...
文章浏览阅读4.2k次,点赞4次,收藏17次。要安装这个 standa...
文章浏览阅读894次,点赞51次,收藏31次。在安卓使用vscode主...