天天看點

win10下python2.7環境theano安裝親測關鍵問題可靠的參考

關鍵問題

theano也可以算是被淘汰的東西了(2017釋出最後版本),估計大都往tensorflow去了,偶然得到一個需要theano支援的算法,開始了漫長的作死安裝。總結起來,最關鍵的問題就是:版本和依賴

theano有很多的依賴項,對各個依賴的版本有嚴格的要求,官方強推conda(但事實證明conda也沒有周全,這也許很conda本身的檔案有關,但總之不加考慮的直接裝theano是會有問題的)

可靠的參考

在自己的環境下(win10+conda虛拟python2.7環境,ps:conda安裝一定要勾選添加path,否則numpy會有坑)嘗試了很久,這個方法是可行的,最後一步還應該給theano加版本号,如下

conda install theano=1.0.1
           

這樣,在Anaconda Prompt下就可以跑通了。

>>> import numpy
>>> import theano.tensor as T
>>> from theano import function
>>> x = T.dscalar('x')
>>> y = T.dscalar('y')
>>> z = x + y
>>> f = function([x, y], z)
           

但是,在非Anaconda Prompt下會出現個WARNING:Using NumPy C-API based implementation for BLAS functions,解決方法看這裡,加個.theanorc.txt檔案,非常有效。這樣之後,上面的代碼在非Anaconda Prompt下就可以跑通了。

補充:在後續過程中出現can not find mkl_rt或者can not find blas之類的錯誤,實際上是在.theanorc.txt中的[blas]設定之後還是找不到,在安裝檔案夾中搜尋對應的.dll檔案,确定好路徑,重寫[blas]如下(以mlk_rt為例):

[blas]
ldflags=-LD:\Program_Files\Anaconda3\envs\python27-theano\Library\bin -lmkl_rt

           

還沒完,如果要做下面的測試:

>>>import theano
>>>theano.test()
           

還要裝nose和parameterized,nose用conda裝就好,conda找不到parameterized,用pip裝一下,現在應該不缺子產品了,但還是有ERROR,和gof有關,嘗試中。。。

繼續閱讀