資源:http:///tutorial/contents.html 按照Deep Learning Tutorials,運(yùn)行一些主要的算法使用Theano. 安裝Theano過(guò)程:(系統(tǒng):win7,64-bit) Anaconda的一些命令(在Anaconda的命令行窗口輸入): conda list #該命令,將列出Anaconda安裝的所有應(yīng)用包,我們可以看到Anaconda已經(jīng)安裝了numpy, nose, pip, python, scipy, mingw等等。 conda install <pkg name> #該命令用于安裝應(yīng)用包,如 conda install numpy. pip install <pkg name> #該命令用于安裝應(yīng)用包,如 pip install theano. conda update <pkg name> #升級(jí)應(yīng)用包,如 conda update python 2. 安裝Theano,在Anaconda 的命令窗口中輸入 pip install theano,可以看到程序開(kāi)始下載安裝包,并檢查是否滿足安裝條件:numpy>=1.5.0,scipy>=0.7.2,滿足條件之后開(kāi)始運(yùn)行setup.py安裝theano,安裝完成后會(huì)顯示Successfully installed theano。 3. 測(cè)試Theano安裝情況。 (1)在ipython中輸入以下兩行代碼: import theano theano.test() 會(huì)顯示theano的版本號(hào),安裝位置,已經(jīng)其他包的安裝版本,如numpy,nose,python等。 在運(yùn)行中出現(xiàn)g++不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。 (2)在Anaconda的命令行窗口輸入:python Lib\site-packages\theano\tests\run_tests_in_batch.py 顯示unable to find theano-nose,查看run_tests_in_batch.py發(fā)現(xiàn),其中路徑設(shè)置為在bin下尋找theano-nose文件,而實(shí)際上Anaconda文件夾下根本沒(méi)有bin這個(gè)文件夾,theano-nose存放在Scripts文件夾中。 》》》嘗試1:將Scripts更名為bin,重新運(yùn)行這句命令,可以成功運(yùn)行。但是出現(xiàn)一個(gè)warning,提示沒(méi)有檢測(cè)到g++,所以無(wú)法運(yùn)行優(yōu)化后的C代碼版本,只能執(zhí)行python版本。 該種嘗試的結(jié)果是,下次打開(kāi)Anaconda 命令窗口后出現(xiàn)錯(cuò)誤,因?yàn)槠溥\(yùn)行路徑為Scripts,所以還是不要修改了。 (3)g++問(wèn)題。我們打開(kāi)MinGW文件夾,可以很清楚的看到有g(shù)++,但是為什么使用不了呢??在Anaconda 命令窗口中輸入g++也能成功調(diào)用g++.exe啊。所以結(jié)論是,鑒于這個(gè)代碼中出現(xiàn)很明顯的漏洞,所以說(shuō)不定這里也是錯(cuò)誤,先不管這些了。 試著做了以下配置,也不知行不行。 添加環(huán)境變量: path: C:\Anaconda\MinGW\bin;C:\Anaconda\MinGW\x86_64-w64-mingw32\lib; 新建環(huán)境變量: PYTHONPATH: C:\Anaconda\Lib\site-packages\theano; 在home目錄下(cmd可以看到,我的是C:\Users\Administrator),創(chuàng)建 .theanorc.txt 文件內(nèi)容如下: [global] openmp=False [blas] ldflags= [gcc] cxxflags = -IC:\MinGW\include (4)驗(yàn)證BLAS是否安裝成功。由于numpy是依賴BLAS的,如果BLAS沒(méi)有安裝成功,雖然numpy亦可以安裝,但是無(wú)法使用BLAS的加速。驗(yàn)證numpy是否真的成功依賴BLAS編譯,用以下代碼試驗(yàn): >>> import numpy >>> id(numpy.dot) == id(numpy.core.multiarray.dot) False 結(jié)果為False表示成功依賴了BLAS加速,如果是Ture則表示用的是python自己的實(shí)現(xiàn)并沒(méi)有加速。 |
|