【DeepLearning工具】Fedora下安裝theano,deeplearningtheano
【DeepLearning工具】Fedora下安裝Theano
author:wepon
@blog:http://blog.csdn.net/u012162613/article/details/42651233
1、Theano簡介
Theano是深度學習的一個python庫,在deeplearning.net上有它的tutorial,它可以方便我們寫深度學習模型,它提供了在GPU上訓練模型的選項,極大加快訓練速度。
如此強大而方便的工具,必須上手,下面我詳細記錄一下我在安裝Theano過程中碰到的問題,以及最終的解決方案。我的系統是Fedora,對於其他linux系統,方法也是類似的。在fedora、Redhat、CentOS中,用到的軟體包管理工具是yum,在ubuntu、debian系統中用到的是與yum類似的apt-get。所以,將我下面安裝過程中的yum命令換成apt-get,或許是一樣的。當然,我的安裝過程僅供參考,I'm not responsible for any responsibility。
2、Theano安裝過程
Theano的安裝依賴於很多其他的軟體包,有必需的,也有可選的,下面分開來說。此外,python的版本必須大於python2.6,在shell下直接鍵入python,查看你的版本,如果小於2.6,得先升級。
(1)必須安裝的依賴項
首先,進入shell,su切換到root使用者,安裝以下幾個軟體包
>>>sudo yum install numpy
>>>sudo yum install numpy
>>>sudo yum install blas blas-devel lapack lapack-devel atlas atlas-devel --nogpgcheck
BLAS是基礎線性代數程式集(Basic Linear Algebra Subprograms),安裝了BLAS之後,numpy、scipy會自動依賴於BLAS加速,檢驗numpy是否成功依賴於BLAS編譯,可以進入python環境,鍵入:
>>> import numpy >>> id(numpy.dot) == id(numpy.core.multiarray.dot) False
結果是False表明成功依賴了BLAS加速,True的話表明用的是python自己的實現,並未加速。
>>>yum install gcc gcc-c++
注意fedora下g++編譯器的名稱是gcc-c++,在debian系統下則是g++,用apt-get install gcc g++
(2)安裝可選依賴項
可選的依賴項有nose、Sphinx、Git、pydot、NVIDIA CUDA drivers and SDK、libgpuarray,其中nose是python的一個測試載入器,我已經裝過了,其他的因為我暫時不用到,就先不安裝了,以後裝了再更新,特別是最後面兩項CUDA、gpu,用於加速的,遲早會用到。
(3)安裝pip
接著按照官網建議,通過pip從PyPi上面拽theano,所以得先安裝pip,安裝pip有好幾種方法,可以參考官網:http://pip-cn.readthedocs.org/en/latest/installing.html
安裝pip有兩種方法,一種是通過指令碼安裝,一種是通過軟體包管理器來安裝,我建議直接用軟體包管理器來安裝,只需要鍵入一行代碼:
>>>sudo yum install python-pip
通過yum管理器安裝一般都會成功。如果你想通過指令碼安裝的話,你需要先下載get-pip.py,把它放到linux的目前的目錄下,然後鍵入:
python get-pip.py
運氣不好的話,你會碰到這樣的錯誤:
ImportError: No module named 'pip._vendor.requests'
這個問題我也碰到了,在stackoverflow上找到瞭解決方法:問題地址,問題出現的原因是系統中的_ssl模組沒安裝好,所以需要先安裝好openssl模組:
>>>yum install openssl-devel
然後重新編譯python,具體的方法見:python安裝完畢後,提示找不到ssl模組的解決步驟
我沒試過,挺麻煩的。
(4)安裝theano上面已經安裝好了pip,現在可以通過pip來安裝theano了,pip類似於easy_install,用來安裝python的第三方庫的,它的預設源地址是:https://pypi.python.org/simple/
使用這個源有兩個弊端:(1)國內訪問速度極慢。(2)這個源上使用了https協議,如果系統上openssl或ssl模組沒安裝好,會導致pip訪問失敗。不信的話,你可以試一下鍵入:
>>>pip install theano
如果你很快安裝好了theano,那說明上面(1)和(2)提到的問題你都沒碰到。如果你運氣不好,像我一樣,(1)和(2)的問題都給我遇上了:下載theano軟體包的速度非常慢,下到80%的時候,“Hash of the ....Bad md5 hash.... ”錯誤退出,多半是ssl模組的問題。
所以,這裡說一個方法,繞開(1)和(2)這兩個弊端:
從 http://www.pypi-mirrors.org/ 上查看國內的PyPi鏡像源,你可以發現一半都是china的,可悲又可喜啊~~
ok,我用了清華的鏡像源,鍵入下面的代碼:
>>>pip install theano -i https://pypi.tuna.tsinghua.edu.cn/simple/
很快就安裝完畢。
3、測試Theano是否安裝正確安裝完後,進入python環境,鍵入:
>>>import theano>>>theano.test()
整個測試過程大概20~30分鐘,我的測試結果:
Ran 2441 tests in 1793.373s FAILED (errors=18) <nose.result.TextTestResult run=2441 errors=18 failures=0>
並且前面出現了許多“Errors”和"KnownFailureTest",這些是“已知”的errors,並無大礙。
最後,推薦一個Google group:theano-users ,KnownFailureTest的問題在上面就有人提過。
-----------------------------GPU、CUDA等其他包的安裝待續--------------------------------------