基於keras中import keras.backend as K的含義說明
原理介紹
keras是一種基於模塊的高級深度學習開發框架,它並沒有僅依賴於某一種高速底層張量庫,而是對各種底層張量庫進行高層模塊封裝,讓底層庫完成諸如張量積、卷積操作。
目前,Keras提供瞭三種後端實現:TensorFlow後端,Theano後端和CNTK後端。
TensorFlow是Google開發的開源符號張量操縱框架。
Theano是由蒙特利爾大學的LISA Lab開發的開源符號張量操縱框架。
CNTK是由Microsoft開發的用於深度學習的開源工具包。
含義
即可以使用抽象的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”未設置成mxnet 或者 tensorflow等。
解決方案:
1、修改Backend:找到這個文件~/.keras/keras.json
其次將其中backend後面的框架修改成mxnet或者tensorflow。
cd ~/.keras vim keras.json #---------------------- { # keras.json文件內容 "image_dim_ordering": "tf", "epsilon": 1e-07, "floatx": "float32", "backend": "theano" }
如果方案1無法解決問題,則可以嘗試方案2.
2、在python代碼中import keras前加入一個環境變量修改的語句
import os os.environ['KERAS_BACKEND']='tensorflow'
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Keras 如何修改圖片通道的順序
- keras修改backend的簡單方法
- python神經網絡TensorFlow簡介常用基本操作教程
- pycharm中keras導入報錯無法自動補全cannot find reference分析
- 關於keras中的Reshape用法