操作系統:Windows8.1 64bit
Python版本:2.7
CUDA版本:CUDA7.5
VS版本:Visual Stduio 2013
矚目:theano的配置異常繁瑣,如果有哪裏報錯很正常,請保持耐心,按照本貼可以解決大部分人的需求,不過還是希望多參考各種攻略,肯定能找到解決辦法的(樓主能說差點就重裝系統了嗎)
建議:如果沒有安裝Python的話,建議安裝Python科學計算環境Anaconda,其中包含了大部分的python庫,會節省時間,其他WinPython、Python(X,Y)也可,原理類似
提醒:請保持各軟件均爲64位,即與系統一致,32位下未測試
1、安裝Anaconda
下載地址:https://www.continuum.io/downloads。
下載python2.7、64bit對應的windows版本,下載後安裝,我選擇的默認安裝路徑(C:\Users\Tori\Anaconda2,此路徑請根據自己的實際情況),默認配置環境變量。
2、安裝MingW
MingW不包含在Anaconda1.8之後的版本中,但因爲需要G++編譯代碼,所以需要額外安裝
安裝很簡單, 在Anaconda的命令行界面下輸入:conda install mingw libpython,MingW會自動安裝在Anaconda下面
MingW的環境變量應該是不用配置的,如果不放心,可以添加C:\Users\Tori\Anaconda2\MinGW\bin;和C:\Users\Tori\Anaconda2\MinGW\x86_64-w64-mingw32\lib;
3、安裝theano
1)可以利用python的pip功能安裝,在Anaconda的命令行下面pip install theano,不過此方法不一定保證theano是最新的,所以更推薦後面的方法
2)前往theano的發佈地址:https://github.com/Theano/Theano
通過Download ZIP下載theano的文件,解壓後把theano放到C:\Users\Tori\Anaconda2\Lib\site-packages下面
或者下載完畢後,可以利用setup.py安裝theano,在命令行下python setup.py install,安裝好後,在C:\Users\Tori\Anaconda2\Lib\site-packages下會有個theano-XXX-XXX的文件夾,不過該文件夾子文件夾下面纔是我們需要的theano(配置環境變量時需要注意)
配置環境變量,新增PYTHONPATH:C:\Users\Tori\Anaconda2\Lib\site-packages\theano
在系統主目錄,即CMD之後出現的目錄中,以我爲例,就是C:\Users\tori,創建.theanorc文本文件,內容如下:
[blas]
ldflags =
[gcc]
cxxflags = -IC:\Users\Tori\Anaconda2\MinGW
打開IPython測試theano是否安裝成功:
import theano
沒有異常的話證明安裝成功。如果出現ImportError: not import name gof一類的錯誤,建議重新安裝Python,具體爲什麼我也沒去追究,不過一般新裝的Python都沒問題
4、安裝CUDA(請確保之前已安裝VS2013或者其他版本)
下載地址:https://developer.nvidia.com/cuda-downloads,務必下載與操作系統對應的版本,CUDA版本7.5
下載好之後安裝,一直默認下一步安裝即可。環境變量會自動配好。
驗證CUDA是否安裝成功,進入C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.5\bin\win64\Release,看有沒有deviceQuery.exe和bandwidthtest.exe,沒有的話,進入C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.5\1_Utilities,有兩個一樣的文件夾,分別編譯兩個文件,debug和release 64下都編譯,之後就會在之前的文件下生產exe文件,其中release下面編譯的時候可能說找不到XXX文件,不過管。
進入CMD,執行兩個exe文件,如下圖所示,即證明安裝成功,注意result=pass。一個是測試顯卡是否安裝成功,一個驗證傳輸帶寬的?具體不太清楚。
5、利用GPU加速
theano和CUDA都安裝後,如果想讓theano利用GPU進行加速,需要更改之前創建的.theano文件,修改文件如下:
[blas]
ldflags =
[gcc]
cxxflags = -IC:\Users\Tori\Anaconda2\MinGW
[nvcc]
fastmath = True
flags = -LC:\Users\Tori\Anaconda2\libs
compiler_bindir = C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
[global]
floatX = float32
device = gpu0
保存後,可以進行測試了,如果之後的測試不行,可以在保存完文件後重啓電腦試試。
打開IPython,輸入import theano,如果出現Using gpu device:~~~~~~~即成功了,如下圖
CNMeM is disabled不影響,具體是什麼我忘了,有了解的還望解惑。CuDNN是Nvida優化的專門爲GPU加速的,可以去官網申請,申請通過後可以下載該文件,將裏面的文件替換CUDA中的即可。
6、此段可忽略......
不知道爲什麼Blas加速爲何沒有啓用,有了解的請告知,難道需要自己下載Blas模塊?
輸入import numpy
id(numpy.dot) == id(numpy.core.multiarray.dot)
Flase的話就是啓用了,True的話就是沒有啓用,還是默認的python自己的實現。
參考資料:
http://deeplearning.net/software/theano/install.html
http://blog.csdn.net/yeyang911/article/details/16357133
http://blog.csdn.net/yeyang911/article/details/17450963
http://blog.sina.com.cn/s/blog_96b836170102vq22.html
https://my6266blog.wordpress.com/2015/01/21/installing-theano-pylearn2-and-even-gpu-on-windows/
http://stackoverflow.com/questions/25729969/installing-theano-on-windows-8-with-gpu-enabled
http://stackoverflow.com/questions/28581740/installing-theano-with-gpu-on-windows-8-1-64-bit-with-visual-studio-2013