在學習Theano,但是Theano是比較早的開源深度學習架構,而且誕生學術界,是以在設計上和調試難免有些晦澀,更接近底層,看Theano Deep Learning的教程可以看出,Theano程式設計需要對神經網絡推導過程比較熟悉。而後來的TensorFlow和Keras等開源架構使得深度學習越來越好用了,從學術的角度來看,需要學習下Theano,從應用的角度來看,後來的架構更容易上手。實際上我建議先學習Keras後學習Theano,而Keras本身就是在Theano的基礎上開發的,封裝了神經網絡訓練的過程,更專注于所做的事情。
而官方的中文教程是Linux和Windows下,卻沒有Anaconda下的安裝和調試,也沒有Centos (Red Hat)下的安裝和調試。
實際上Centos(Red Hat)也是非常大衆的Linux系統。Anaconda讓安裝變得容易有時候也會造成一些麻煩。
首先在Centos下安裝Theano,切換到Python2.7環境下,隻需要Pip install theano即可。
或者去官網下載下傳https://github.com/Theano/Theano
python setup.py install
接着pip install keras太慢了,等的非常着急,是以幹脆也從github下載下傳,再python setup.py install
安裝完了打開spyder,建立一個Python file
import theano
import keras
如果不報錯就安裝成功了。發現有錯誤,才是正常的,因為沒有配置Keras是基于Theano還是TensorFlow,輸入指令 gedit ~/.keras/keras.json
需要把backend改為theano
這樣就能運作成功了。同時參考官網配置了theanorc,運作一個程式,報錯了。不要運作mnist.py壓根就不行,資料要下載下傳很久。
報錯如下
Exception: ('The following error happened while compiling the node', Dot22(Reshape{2}.0, lstm_1_W_o), '\n', 'Compilation failed (return status=1): /usr/bin/ld: cannot find -lopenblas. collect2: ld \xe8\xbf\x94\xe5\x9b\x9e 1. ', '[Dot22(<TensorType(float32, col)>, lstm_1_W_o)]')
在網上找了很久都沒有發現這個錯誤的原因,看到錯誤裡有說到-lopenblas,想到可能配置有問題,配置的theanorc全部擦除,運作通過,非常激動。
參考了官網教程,但其實官網教程并不針對Anaconda和Centos,是以學習需謹慎。
http://keras-cn.readthedocs.io/en/latest/getting_started/keras_linux/