折腾了两天总算是能跑起来了,当初是想装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 (包名)
安装就好
四、最终测试
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.f2er.com/ubuntu/355795.htmlhttp://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