1 Ubuntu双系统安装
1.1安装Windows10系统
一般建议从Win7升级到Win10, 避免无法激活。如果直接安装Windows10可以在某些Win10的技术交流QQ群获得激活工具。选择一个空闲磁盘,磁盘管理-》磁盘压缩或者直接删除卷,将来Ubuntu就安装在该磁盘上。
1.2 Ultraiso刻录Ubuntu系统
下载iso文件
http://pan.baidu.com/share/link?shareid=699840990&uk=3994249334
Ultraiso刻录到U盘,重启,F12 U盘启动。
安装参考教程
http://jingyan.baidu.com/article/76a7e409bea83efc3b6e1507.html
安装过程中不要选择更新系统。我的电脑设置是swap交换区,逻辑分区,8G。主分区300M 挂载点/boot。剩下的磁盘空间,主分区,挂载点/。
重启,拔出U盘,进入系统
2 Cuda安装
2.1下载cuda文件
在以下链接中选择正确的文件,下载到桌面
https://developer.nvidia.com/cuda-downloads
2.2 安装cuda
安装命令如下:
sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
sudo apt-get update
sudo apt-get install cuda
nvcc
发现nvcc未识别,所以你需要设置cuda环境变量:
sudo gedit /etc/profile
在文件底部添加
export PATH=/usr/local/cuda-7.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
重启电脑,
nvcc --version
gcc -- version
成功识别nvcc,且满足gcc版本小于5.
2.3 安装cuDNN配置
注册Nvidia帐号,注册信息认真填写。注册地址如下
https://developer.nvidia.com/cudnn
下载 cuDNN V5 for Linux
解压cuDNN安装包: sudo tar -xvf cudnn-7.5-linux-*.tgz
cd 解压出的文件 移动头文件以及动态库:
sudo cp lib* /usr/local/cuda/lib64/
sudo cp cudnn.h /usr/local/cuda/include/
2.4安装Theano环境
需要预先安装的工具
这些工具在后面可能会使用到,如编译器等。
sudo apt-get install -y python-dev python-pip python-nose gcc g++ git gfortran
安装BLAS, LAPACK, ATLAS 这些软件包必须在安装Numpy和Scipy之前安装
sudo apt-get install -y libopenblas-dev liblapack-dev libatlas-base-dev
OpenBLAS,Numpy,Scipy For Linux 参考以下网址
http://blog.csdn.net/wangpengfei163/article/details/47399547
其中 openBLAS如下
git clone git://github.com/xianyi/OpenBLAS
sudo apt-get install gfortran
cd OpenBLAS
sudo make FC=gfortran
sudo make PREFIX=/opt/OpenBLAS install
添加环境路径
sudo gedit ~/.bashrc
添加
export LD_LIBRARY_PATH=/opt/OpenBLAS/lib:$LD_LIBRARY_PATH
到文件末尾
sudo su
source ~/.bashrc
sudo gedit /etc/profile
添加到文件末尾
export LD_LIBRARY_PATH=/opt/OpenBLAS/lib:$LD_LIBRARY_PATH
sudo su
source /etc/profile
编译配置过程中
numpy报错
RuntimeError: Running cythonize failed!
解决办法:
安装cython
scipy又报错
sudo pip install --upgrade cython
sudo pip install theano
新建配置文件sudo gedit ~/.theanorc
添加如下内容:
[global]
floatX=float32
device=gpu
[lib]
cnmem=0.8
[blas]
ldflags =-L/$HOME/openblas/lib -lopenblas
[nvcc]
fastmath = True
optimizer_including=cudnn
最后执行python 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' % iters, t1 - t0, 'seconds'
print 'Result is', 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'
附属CSDN博客语法链接
http://www.jianshu.com/p/0b257de21eb5
ubuntu截图工具 ksnapshot
原创文章,转载请注明出处
http://blog.csdn.net/lin370/article/details/51603889