原理介绍
keras是一种基于模块的高级深度学习开发框架,它并没有仅依赖于某一种高速底层张量库,而是对各种底层张量库进行高层模块封装,让底层库完成诸如张量积、卷积操作。
目前,Keras提供了三种后端实现:TensorFlow后端,Theano后端和CNTK后端。
TensorFlow是Google开发的开源符号张量操纵框架。
Theano是由蒙特利尔大学的LISA Lab开发的开源符号张量操纵框架。
CNTK是由Microsoft开发的用于深度学习的开源工具包。
含义
即可以使用抽象的Keras后端编写新代码。
下面的代码实例化输入占位符。它等同于tf.placeholder()或th.tensor.matrix(),th.tensor.tensor3()等等。
1
2
3
4
5
|
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。
1
2
3
4
5
6
7
8
9
|
cd ~ / .keras
vim keras.json
#----------------------
{ # keras.json文件内容
"image_dim_ordering" : "tf" ,
"epsilon" : 1e - 07 ,
"floatx" : "float32" ,
"backend" : "theano"
}
|
如果方案1无法解决问题,则可以尝试方案2.
2、在python代码中import keras前加入一个环境变量修改的语句
1
2
|
import os
os.environ[ 'KERAS_BACKEND' ] = 'tensorflow'
|
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/rocking_struggling/article/details/104231984