原理介绍
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