Theano是Python的一個深度學習的第三方庫,今天有同學問我怎樣配置。OK,既然有需求,我就花了半天時間研究它,并完成了windows下32位和64位系統(tǒng)下的配置。這里在配置的過程中我走了一些彎路,在這篇文章中我會將我在配置過程中遇到的問題、出現(xiàn)的錯誤、解決的方法都完整的列出來,供大家參考,并列出直接簡潔的配置方法。 一、基本情況 Theano算是Python中配置相對復雜的庫了,這里先對目前的配置需求進行一個基本說明。 1、Python配置第三方庫的基本方法 Python配置第三方庫主要有以下幾種方法: ?。?)Pip自動安裝 Pip是Python安裝第三方庫的首選方法,簡單快捷,系統(tǒng)自動分析安裝需求并從Pipy下載相應的庫文件。安裝Python編譯器后會默認安裝Pip工具,pip工具安裝第三方庫非常簡單,只需在命令提示符窗口中輸入“pip install 庫名稱”即可。 在使用Pip工具時首先需要配置相關環(huán)境變量。假設我們將Python裝在C盤根目錄下:
此時需要將該目錄以及目錄下的Scripts文件夾的路徑添加到環(huán)境變量中:
接下來我們打開命令提示符窗口,首先需要對Pip版本進行更行,更新到最新版本方可使用,更新命令為“pip install --upgrade pip”:
更新完成后,即可使用pip工具進行第三方庫的安裝。這里有一個問題需要注意,就是Python必須安裝在C盤下才能完成版本更新,之前安裝在D盤時,在版本更新的過程中會一直顯示文件移動方面的錯誤,這個BUG目前還沒有解決,好在Python本身并不大,且相對簡潔,就暫且裝在C盤了。 接下來就可以使用pip進行自動安裝,非常簡潔,直接“pip install 庫名稱”即可:
這里我們已經(jīng)安裝好了Theano,因此Pip會給出提示信息,否則會自動安裝。 ?。?)Pip手動安裝 所謂Pip手動安裝,是指我們手動下載第三方庫的安裝文件,然后使用pip安裝。這里提供第三庫安裝文件的下載地址:第三方庫,下載時注意版本匹配即可。 注意這里的安裝文件都是whl格式的,而非exe或者msi格式,也就意味著下載得到的安裝文件只能用pip工具安裝,直接雙擊是行不通的。 假設這里我們用pip手動安裝scipy模塊。在剛才的地址中下載scipy的安裝文件,這里選擇win32、CP34(Python3.4)版本的安裝文件:
下載完成后,為了方便,將文件放在C盤根目錄下,然后在命令提示符界面進入C盤文件夾下,使用pip命令進行安裝:
這里由于之前已經(jīng)安裝過numpy模塊,pip會給出提示。若之前未安裝相關模塊,pip會在此處進行自動安裝。不過這里需要強調(diào)的一點是使用pip進行手動安裝時一定要先進入安裝文件所在的目錄,否則pip將無法找到安裝源。 (3)使用exe文件安裝 對于一些常用的第三方庫,在如下地址可能會找到相應的exe版本的安裝文件:exe安裝文件地址,如果能在網(wǎng)站上搜索到相關的exe版本安裝文件,下載下來直接雙擊安裝皆即可,當然同樣需要注意版本匹配的問題,而且這里貌似沒有64位版本的安裝文件。 2、安裝環(huán)境需求 在安裝Theano庫之前,需要以下擴展庫的支持:numpy(包含BLAS,ATLAS等)、scipy、libpython;需要g++支持(通過mingw安裝),這里g++需要區(qū)分32位和64位。我的電腦是win7,64位,不過我的Python是32位的(64位windows是可以安裝32位Python的)。這里由于我們的Python是32位的,因此以下安裝的所有模塊都是32位版本。 二、開始安裝 1、安裝第三方庫 首先安裝numpy。經(jīng)過測試以上三種方法都可以安裝numpy模塊,但這里必須采用第二種,也就是手動下載numpy模塊來用pip安裝。原因是其他兩種方法安裝numpy模塊后,還需要手動安裝BLAS、ATLAS等等,而且這兩個模塊都是需要進行編譯才能安裝的,非常麻煩,而下載得到的numpy貌似封裝了這幾個繁瑣的模塊,因此能節(jié)省很多功夫。 安裝完成之后繼續(xù)安裝scipy模塊,這里我們同樣推薦使用第二種方法手動安裝,方便快捷,不受網(wǎng)速制約。使用pip自動安裝時經(jīng)常會下載失敗什么的。 然后在安裝libpython模塊,同上。 以上這三個模塊的安裝過程都是完全相同的,這里稍作總結:在Python安裝第三方模塊時推薦手動安裝,方便快捷。使用pip自動安裝時會受防火墻、網(wǎng)速等各種各樣的因素限制,安裝的成功率低。當然如果不能找到對應的whl安裝文件(例如nose模塊),就只能使用pip進行自動在線安裝了。這里不推薦去sourceforge去找exe版,一是exe版的安裝文件不全面;二是exe版安裝的庫與pip安裝的庫并不完全相同,時間長了可能會引發(fā)未知的兼容性問題;三是exe版安裝文件沒有64位的。
安裝完以上擴展庫后,可以安裝theano庫了。這里必須使用pip自動安裝了,因為找不到對應的whl版本和exe版本,好在pip很給力,自動安裝成功:
這里在自動安裝之前Pip會先檢查numpy和scipy的安裝情況,如果沒有正確安裝的話pip會先進行numpy和scipy的安裝(當然我們不希望它這樣做),然后安裝theano,大約五分鐘左右,下載完成,安裝成功。 2、安裝g++ 首先,這里提供一個g++的下載地址:g++ 安裝完theano后,我們先測試一下:
很明顯,Python提示我們沒有g++,接下來我們安裝一個。 那么問題來了,我是64位windows,32位Python,那我們應該裝64位的g++還是32位的g++呢?經(jīng)過嘗試,需要裝64位的g++。想想也有道理,因為g++和Python并不是綁定的。 這里給出64位MinGw的下載地址:64位MinGw。下載完成后,雙擊進行安裝:
單擊next,在配置界面選擇如下,單擊next:
由于是編譯器,默認安裝在C盤,單擊next:
這個過程會相對比較漫長,大約十分鐘左右:
單擊next,安裝完成。接下來將路徑"C:\Program Files (x86)\mingw-w64\i686-5.2.0-posix-dwarf-rt_v4-rev1\mingw32\bin"添加到環(huán)境變量中(不同計算機的路徑可能稍有不同),此時再次測試theano,安裝成功:
僅僅是import語句的話大家可能還不太確信theano庫安裝的正確性,接下來我們運行其中的一個小的測試函數(shù)。不過這里需要先安裝nose模塊,推薦使用pip進行自動安裝:
網(wǎng)速流暢的話應該幾秒鐘即可安裝完成,再次測試theano:
說明theano安裝順利完成,這里給出的警告是提示我們尚未進行GPU的配置,這點以后在說,因為theano是支持CPU的。 四、32位系統(tǒng)下的配置 剛才說的是在64位系統(tǒng)下配置32位python,接下來說說如何在32位系統(tǒng)下配置32位python的theano庫。首先安裝numpy、scipy、libpython、theano這四個庫,這些庫的安裝和上面說的安裝方法完全一樣(因為都是32位python)。唯一不同的就是g++的安裝,顯然32位系統(tǒng)需要安裝32位的g++:
雙擊進入安裝界面,單擊next,選擇下載最新版本選項:
單擊next,接受協(xié)議,next,指定安裝路徑(這里同樣為C盤):
單擊next,選擇C和C++編譯器:
單擊next,單擊install,開始安裝,注意這里的安裝是在dos界面下自動完成的:
安裝完成后,將安裝目錄下的bin文件夾的路徑添加到環(huán)境變量中,32位的g++安裝完成。這里有兩個注意問題: (1)之前按照百度上提供的方法,通過下載器來安裝32位g++,一直提示失敗,原因不詳。 (2)在環(huán)境變量中32位g++和64位g++不能共存,否則會引發(fā)未知錯誤。這也告訴我們在配置環(huán)境變量時一定要注意及時刪除失效路徑,一是保證系統(tǒng)的安全,從而保持環(huán)境變量的整潔性。
|
|