雙系統Ubuntu 14.04+Cuda7.5+Theano+OpenBLAS+cuDNN v5 全配置

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
cuda下載

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章