原理介紹
keras是一種基于模塊的高級深度學(xué)習(xí)開發(fā)框架,它并沒有僅依賴于某一種高速底層張量庫,而是對各種底層張量庫進行高層模塊封裝,讓底層庫完成諸如張量積、卷積操作。
目前,Keras提供了三種后端實現(xiàn):TensorFlow后端,Theano后端和CNTK后端。
TensorFlow是Google開發(fā)的開源符號張量操縱框架。
Theano是由蒙特利爾大學(xué)的LISA Lab開發(fā)的開源符號張量操縱框架。
CNTK是由Microsoft開發(fā)的用于深度學(xué)習(xí)的開源工具包。
含義
即可以使用抽象的Keras后端編寫新代碼。
下面的代碼實例化輸入占位符。它等同于tf.placeholder()或th.tensor.matrix(),th.tensor.tensor3()等等。
inputs = K.placeholder(shape=(2, 4, 5))
# also works:
inputs = K.placeholder(shape=(None, 4, 5))
# also works:
inputs = K.placeholder(ndim=3)
補充:keras, from keras import backend as K 報錯
如果遇到from keras import backend as K 報錯情況,可能是因為keras.json文件里“backend”未設(shè)置成mxnet 或者 tensorflow等。
解決方案:
1、修改Backend:找到這個文件~/.keras/keras.json
其次將其中backend后面的框架修改成mxnet或者tensorflow。
cd ~/.keras
vim keras.json
#----------------------
{ # keras.json文件內(nèi)容
"image_dim_ordering": "tf",
"epsilon": 1e-07,
"floatx": "float32",
"backend": "theano"
}
如果方案1無法解決問題,則可以嘗試方案2.
2、在python代碼中import keras前加入一個環(huán)境變量修改的語句
import os
os.environ['KERAS_BACKEND']='tensorflow'
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- 淺談keras 的抽象后端(from keras import backend as K)
- 淺談keras中的后端backend及其相關(guān)函數(shù)(K.prod,K.cast)
- 查看keras的默認(rèn)backend實現(xiàn)方式
- keras中的backend.clip用法