App下載

keras中為什么要import keras.backend as K?

猿友 2021-08-05 13:36:08 瀏覽數(shù) (3626)
反饋

在python使用Keras需要注意導(dǎo)入Keras.backend類。那么python怎么導(dǎo)入Keras.backend呢?接下來(lái)這篇文章帶你了解。

原理介紹

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后端編寫(xiě)新代碼。

下面的代碼實(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'

以上就是python導(dǎo)入Keras.backend的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持W3Cschool


0 人點(diǎn)贊