ubuntu14.04安裝theano

基本上按照官網來就行:html

先是python

sudo apt-get install python-numpy python-scipy python-dev python-pip python-nose g++ libopenblas-dev git

再是linux

sudo pip install Theano

(這一步驟裏,若是你默認是python3,則要改成pip-2.7)git

 

測試下:dom

Test the newly installed packagesoop

python -c "import numpy; numpy.test()"   約~30s
python -c "import scipy; scipy.test()"   約~1m
python -c "import theano; theano.test()" 約~30m

Speed test Theano/BLAS測試

python `python -c "import os, theano; print os.path.dirname(theano.__file__)"`/misc/check_blas.py

測試成功,基本上就能用了。spa

 

如下是GPU設置:.net

檢查本身的電腦是否有cuda支持的GPUhtm

lspci | grep -i nvidia

通常獲得相似下面的結果

01:00.0 VGA compatible controller: NVIDIA ……

另外,也可用

lspci | grep -i vga

 顯示全部顯卡,用

lspci -v -s 01:00.0

顯示特定顯卡詳細信息。

 

若是支持,那麼安裝就好了:

sudo apt-get install nvidia-current
sudo apt-get install nvidia-cuda-toolkit

而後主要是設置參數,讓優先使用GPU

參見http://deeplearning.net/software/theano/install.html裏Using the GPU一節。

主要有兩種方法,一種設置THEANO_FLAGS,一種編輯.theanorc文件,之後者爲例,

在$home目錄(用戶主目錄,通常是/home/用戶名)下建立「 .theanorc」文件,編輯爲

[global]
device = gpu
floatX = float32

[cuda]
root = /usr/lib/nvidia-cuda-toolkit    //cuda目錄一項設置爲本身的cuda安裝目錄便可(內含bin,lib,include子文件夾)

注意,這個文件你建立了,通常會變爲不可見,可用"ls -a"命令列出全部文件從而能夠看到,能夠用gedit編輯。

此外,還要設置cuda的lib子文件夾(64位下可能還要設置lib64子文件夾)位置到環境變量$LD_LIBRARY_PATH,參見http://blog.csdn.net/xsc_c/article/details/23470565(這篇博客cuda的幾個入門文章也很不錯)。或者這篇http://www.linuxidc.com/Linux/2012-04/58913.htm 。以設置/etc/profile爲例,在其中添加

export PATH=$PATH:/usr/lib/nvidia-cuda-toolkit/bin  %這句不加通常也行
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia-cuda-toolkit/lib

 

測試例子在http://deeplearning.net/software/theano/tutorial/using_gpu.html#using-gpu

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'

若是執行時有相似「unable to get the number of gpus avaliable」的錯誤,用sudo執行便可。

若是有權限問題,如"Permission denied"相似錯誤,刪除主目錄下的文件夾".theano"或者其子文件夾,

好比,在個人電腦上,存在這樣的文件夾"/home/用戶名/.theano/compiledir_Linux-3.16--generic-x86_64-with-Ubuntu-14.04-trusty-x86_64-2.7.6-64/",將其刪除便可.

注意,".theano"是隱藏的文件夾,用"ls -a"命令能夠看到.

相關文章
相關標籤/搜索