1. 程式人生 > >【DeepLearning工具】Fedora下安裝theano

【DeepLearning工具】Fedora下安裝theano

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

【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使用者,安裝以下幾個軟體包

  • 安裝numpy
>>>sudo yum install numpy

  • 安裝scipy

>>>sudo yum install numpy

  • 安裝BLAS

>>>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自己的實現,並未加速。

  • 安裝g++

>>>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 SDKlibgpuarray,其中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等其他包的安裝待續--------------------------------------

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述