1. 程式人生 > >deep learning:Theano安裝攻略

deep learning:Theano安裝攻略

 要做卷積神經網路的一些東西,所以要裝theano,網上很多Theano安裝教程版本較老,而各安裝包更新很快,參考價值有限。走了很多彎路才裝好,把這個過程記錄下來,希望對大家有幫助~ ~

       我的配置:win7,32位(64和32位安裝步驟沒差,下安裝包版本有差而已),vs2012

0.作業系統

       ubuntu下安裝會比windows下省事很多,但是好像是直接裝進系統裡的,python出問題會崩系統(忘了從哪裡看的了),可以考慮pip個虛擬環境。我平時的工作環境是windows,並不好裝,但是用起來方便一點(個人感覺)。

1.安裝anaconda(已內建python,numpy和scipy兩個必要庫以及一些其他庫,自帶安裝。)

       選擇原因:安裝簡單,網上參考資料多。

       也有人會選pythonxy,提醒一下,網上pythonxy資源不多,我裝完pythonxy, import theano之後出現了這個問題ImportError: not import name gof,百度谷歌上能試的解決方式我都試了,然並卵。

2.安裝mingw

       裝完anaconda直接pip install theano是行不通的,在python裡搜g++會發現搜不到,有些參考資料裡面寫:

       新增環境變數: path: C:\Anaconda\MinGW\bin;C:\Anaconda\MinGW\x86_64-w64-mingw32\lib;  

       新建環境變數:PYTHONPATH: C:\Anaconda\Lib\site-packages\theano;

         問題在於anaconda底下根本沒有MinGW包,不要聽信什麼自己下個zip,安裝到anaconda底下,正確方法:cmd輸入:conda install mingw libpython

MinGW等資料夾會自動裝到anaconda下面,life is short, save your time.

3.環境配置

在使用者變數中,PATH新增C:\Anaconda;C:\Anaconda\Scripts; 

      並新建 PYTHONPATH:C:\Anaconda\Lib\site-packages\theano;

       在cmd的home目錄中新建 .theanorc.txt 檔案(注意名字中的“.”),根據自己安裝MinGW的路徑寫上MinGW的路徑,我的如下:

[blas]
ldflags=


[gcc]
cxxflags = -IC:\Anaconda\MinGW

      重啟電腦

4.安裝theano

       別用什麼theano.zip解壓到目錄底下或者theano_installer_latest.msi,不嫌麻煩你就去試,正確方式:cmd輸入:pip install theano

(pip用法看這裡:http://www.ttlsa.com/python/how-to-install-and-use-pip-ttlsa/)

       裝完之後在ipython中輸入以下兩行程式碼測試一下:

       import theano

       theano.test()

       沒有error的話,恭喜你,安裝成功了~ ~

5.GPU加速

GPU加速首先就是安裝CUDA,然而CUDA只支援NVIDIA顯示卡,因為CUDA軟體就是他家出的,如果你的本並不是NVIDIA顯示卡,別費勁了

6.BLAS

       看看numpy是不是已經預設BLAS加速了,在python裡輸入:

       import numpy 

       id(numpy.dot) == id(numpy.core.multiarray.dot) 

       結果為False表示已經成功依賴了BLAS加速,如果是Ture則表示用的是python自己的實現,並沒有加速。

參考(然而他們的完全有用的話,我就沒必要寫這些了~ ~):

http://blog.csdn.net/tulip561/article/details/46696113

http://blog.163.com/yuyang_tech/blog/static/216050083201469101518900/

http://www.cnblogs.com/hanahimi/p/4127026.html

http://blog.csdn.net/zhouyongsdzh/article/details/24449645