基于keras中import keras.backend as K的含義說(shuō)明
原理介紹
keras是一種基于模塊的高級(jí)深度學(xué)習(xí)開(kāi)發(fā)框架,它并沒(méi)有僅依賴于某一種高速底層張量庫(kù),而是對(duì)各種底層張量庫(kù)進(jìn)行高層模塊封裝,讓底層庫(kù)完成諸如張量積、卷積操作。
目前,Keras提供了三種后端實(shí)現(xiàn):TensorFlow后端,Theano后端和CNTK后端。
TensorFlow是Google開(kāi)發(fā)的開(kāi)源符號(hào)張量操縱框架。
Theano是由蒙特利爾大學(xué)的LISA Lab開(kāi)發(fā)的開(kāi)源符號(hào)張量操縱框架。
CNTK是由Microsoft開(kāi)發(fā)的用于深度學(xué)習(xí)的開(kāi)源工具包。
含義
即可以使用抽象的Keras后端編寫新代碼。
下面的代碼實(shí)例化輸入占位符。它等同于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)
補(bǔ)充:keras, from keras import backend as K 報(bào)錯(cuò)
如果遇到from keras import backend as K 報(bào)錯(cuò)情況,可能是因?yàn)閗eras.json文件里“backend”未設(shè)置成mxnet 或者 tensorflow等。
解決方案:
1、修改Backend:找到這個(gè)文件~/.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無(wú)法解決問(wèn)題,則可以嘗試方案2.
2、在python代碼中import keras前加入一個(gè)環(huán)境變量修改的語(yǔ)句
import os os.environ['KERAS_BACKEND']='tensorflow'
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持本站。
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。