Win10下配置Theano(基于Anaconda)

近期因?yàn)檫\(yùn)行深度模型程序的需要,在自己的臺式機(jī)上運(yùn)行Theano,遇到了不少問題。實(shí)際上如果只是讓程序跑起來,不考慮速度的話,直接pip install theano就搞定了,但如果加上GPU,還是在Windows上,就很容易呼天搶地了……

關(guān)于Theano的詳細(xì)配置,其實(shí)Theano documentation里已經(jīng)介紹很清晰了,但無奈其中的Windows部分,大多數(shù)依賴項(xiàng)都是按照舊版本來寫的,所以幾乎是一步一坑,處處地雷。。。

下面結(jié)合自己配置Theano+GPU的經(jīng)歷,大概總結(jié)下我最終配置成功的操作。

關(guān)于Python

在Windows系統(tǒng)下,不太建議直接使用python+pip管理,各種底層基于C的package使用pip install經(jīng)常出錯(cuò)。這個(gè)網(wǎng)站Unofficial Windows Binaries for Python Extension Packages提供了大多常用package的編譯好的版本,可以下載后直接pip安裝 whl文件,但這種處理方式還是過于原始,費(fèi)心費(fèi)力……

比較好的做法是使用Python的集合發(fā)行版,比如AnacondaWinpython。這種發(fā)行版一般會內(nèi)置好大多數(shù)常用package,盡量實(shí)現(xiàn)python與底層操作系統(tǒng)的隔離。個(gè)人更喜歡Anaconda,除了因?yàn)榘芾硗猓?code>Anaconda還支持環(huán)境,可以避免在機(jī)器上安裝各種py2、py3版本的python。

現(xiàn)在安裝Anacoda的話,默認(rèn)環(huán)境的python好像是3.5的,但這不重要,隨時(shí)用conda create就可以創(chuàng)建一個(gè)新的python版本。Theano官方教程也推薦用在Windows下使用Anaconda,但你會發(fā)現(xiàn),你運(yùn)行conda install libpython都會出問題。。。

關(guān)于Anaconda與Theano

安裝好Anaconda后,怎么安裝Theano,配置GPU,可以參考這篇文章:windows10下theano啟用gpu:CUDA + Anaconda。我就是最終參考這篇文章配置好的,這里就直接引用下,不再詳細(xì)拷貝過來了。

只補(bǔ)充說明以下幾點(diǎn):

  1. 關(guān)于Visual Studio,根據(jù)原文注意下是否版本支持就行,一定注意在PATH中添加對應(yīng)的路徑。
  2. 有時(shí)候運(yùn)行Visual Studiocuda樣例工程,會遇到編譯失?。╢atal error)問題,這一般是因?yàn)槁窂较掠信f的不兼容的工程生成文件,先刪掉舊的再重新編譯即可。
  3. 原博客中,創(chuàng)建python34環(huán)境后,重新更改了環(huán)境變量,指向python34的env,其實(shí)也可以使用activate env_name激活某個(gè)虛擬環(huán)境,這樣Anaconda會自動(dòng)更改python版本指向,缺點(diǎn)是每次重新運(yùn)行cmd時(shí)都需要先activate一下。兩種方法各有優(yōu)劣,看自己喜好。
  4. 有個(gè)編碼的錯(cuò)誤,需要改動(dòng)Theano的一處源碼,參考原文評論,需要修改的位置是Anaconda3/envs/python34/lib/site-packages/theano/compat/__init__.py,第46行左右的yield x.decode()改為yield x.decode('GBK')(Mac OSX等系統(tǒng)就不用改這個(gè)了……)
  5. MinGW等底層支持,使用Anaconda自動(dòng)管理即可,如無其他需要,不用手動(dòng)安裝這些工具。

碎碎念

聽說Tensorflow才是未來?目前Keras的backend是同時(shí)支持TheanoTensorflow的,真是好……

再次吐槽下Windows系統(tǒng)對開發(fā)人員的不友好……在Linux或Mac OS X上,上面的問題就少多了……

2016.07.24補(bǔ)充:
因?yàn)閷?shí)驗(yàn)室采購了NVIDIA GTX 1080的顯卡,我又在Ubuntu環(huán)境下配置cuda和Theano,發(fā)現(xiàn)坑也不少,主要是因?yàn)?080的卡是最新的,所以驅(qū)動(dòng)方面有些注意事項(xiàng)。最后我是參考這篇文章配置好的:深度學(xué)習(xí)主機(jī)環(huán)境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0,僅供參考。

Hail Python!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容