基本上按照官網來就行: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"命令能夠看到.