keras 获取某层输出 获取复用层的多次输出实例


Posted in Python onMay 23, 2020

官方文档很全面,搜索功能也很好。但是如果你想单独实现某个功能,根本无从搜寻。于是我写了这个笔记。从功能出发。

两个tensor经过一个layer实例会产生两个输出。

a = Input(shape=(280, 256))
b = Input(shape=(280, 256))
 
lstm = LSTM(32)
encoded_a = lstm(a)
encoded_b = lstm(b)
 
lstm.output

这个代码有错误,因为最后一行没有指定lstm这个layer实例的那个输出。

>> AttributeError: Layer lstm_1 has multiple inbound nodes,
hence the notion of "layer output" is ill-defined.
Use `get_output_at(node_index)` instead.

所以如果想要得到多个输出中的一个:

assert lstm.get_output_at(0) == encoded_a
assert lstm.get_output_at(1) == encoded_b

补充知识:kears训练中如何实时输出卷积层的结果?

在训练unet模型时,发现预测结果和真实结果几乎完全差距太大,想着打印每层输出的结果查看问题在哪?

但是发现kears只是提供了训练完成后在模型测试时输出每层的函数。并没有提供训练时的函数,同时本着不对原有代码进行太大改动。最后实现了这个方法。

即新建一个输出节点添加到现有的网络结构里面。

#新建一个打印层。
class PrintLayer(Layer):
	#初始化方法,不须改变
 def __init__(self, **kwargs):
  super(PrintLayer, self).__init__(**kwargs)
	#调用该层时执行的方法
 def call(self, x):
  x = tf.Print(x,[x],message="x is: ",summarize=65536)
  #调用tf的Print方法打印tensor方法,第一个参数为输入的x,第二个参数为要输出的参数,summarize参数为输出的元素个数。
  return x;
  #一定要返回tf.Print()函数返回的变量,不要直接使用传入的变量。
 
#接着在网络中引入
conv9 = Conv2D(2, 3, activation = 'relu', padding = 'same', kernel_initializer = 'he_normal')(conv9)
print11 = PrintLayer()(conv9)
conv10 = Conv2D(1, 1, activation = 'sigmoid')(print11)
#PrintLayer层处理的结果一定要在下一层用到,不然不会打印tensor。该结点可以加在任何结点之间。

以上这篇keras 获取某层输出 获取复用层的多次输出实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
学习python (1)
Oct 31 Python
Python实现遍历数据库并获取key的值
May 17 Python
Python、PyCharm安装及使用方法(Mac版)详解
Apr 28 Python
Python中用字符串调用函数或方法示例代码
Aug 04 Python
通过Python 获取Android设备信息的轻量级框架
Dec 18 Python
详解用Python处理HTML转义字符的5种方式
Dec 27 Python
Python线性方程组求解运算示例
Jan 17 Python
python判断设备是否联网的方法
Jun 29 Python
转换科学计数法的数值字符串为decimal类型的方法
Jul 16 Python
linux下安装python3和对应的pip环境教程详解
Jul 01 Python
解决Keras 中加入lambda层无法正常载入模型问题
Jun 16 Python
python实现快速文件格式批量转换的方法
Oct 16 Python
给keras层命名,并提取中间层输出值,保存到文档的实例
May 23 #Python
keras小技巧——获取某一个网络层的输出方式
May 23 #Python
keras自定义回调函数查看训练的loss和accuracy方式
May 23 #Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
May 22 #Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
May 22 #Python
Softmax函数原理及Python实现过程解析
May 22 #Python
Python接口测试文件上传实例解析
May 22 #Python
You might like
PHP读取目录下所有文件的代码
2008/01/07 PHP
PHP 开源AJAX框架14种
2009/08/24 PHP
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
2012/09/13 PHP
使用php判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
Avengerls vs KG BO3 第三场2.18
2021/03/10 DOTA
mailto的使用技巧分享
2012/12/21 Javascript
jQuery+css实现图片滚动效果(附源码)
2013/03/18 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
利用Keydown事件阻止用户输入实现代码
2014/03/11 Javascript
解决bootstrap中modal遇到Esc键无法关闭页面
2015/03/09 Javascript
js实现一个链接打开两个链接地址的方法
2015/05/12 Javascript
JQuery和HTML5 Canvas实现弹幕效果
2017/01/04 Javascript
详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
2017/05/02 Javascript
详解Nodejs之静态资源处理
2017/06/05 NodeJs
详解vue.js+UEditor集成 [前后端分离项目]
2017/07/07 Javascript
webpack 2的react开发配置实例代码
2017/07/28 Javascript
JavaScript多线程运行库Nexus.js详解
2017/12/22 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
2019/12/30 jQuery
js 闭包深入理解与实例分析
2020/03/19 Javascript
基于vue hash模式微信分享#号的解决
2020/09/07 Javascript
vue 获取元素额外生成的data-v-xxx操作
2020/09/09 Javascript
Python中返回字典键的值的values()方法使用
2015/05/22 Python
python实现机械分词之逆向最大匹配算法代码示例
2017/12/13 Python
PyTorch实现重写/改写Dataset并载入Dataloader
2020/07/14 Python
Python必须了解的35个关键词
2020/07/16 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
html5摇一摇代码优化包括DeviceMotionEvent等等
2014/09/01 HTML / CSS
美国领先的商务贺卡出版商:The Gallery Collection
2018/02/13 全球购物
自我评价200字分享
2013/12/17 职场文书
学习决心书范文
2014/03/11 职场文书
关于运动会的广播稿(10篇)
2014/09/12 职场文书
个人授权委托书模板
2014/09/14 职场文书
2015教师节师德演讲稿
2015/03/19 职场文书
公司财务部岗位职责
2015/04/14 职场文书
在职证明范本
2015/06/15 职场文书
班委竞选稿范文
2015/11/21 职场文书