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中断言Assertion的一些改进方案
Oct 27 Python
Python变量和字符串详解
Apr 29 Python
python使用mysql数据库示例代码
May 21 Python
Python科学计算包numpy用法实例详解
Feb 08 Python
Python3爬虫教程之利用Python实现发送天气预报邮件
Dec 16 Python
Python3+Pycharm+PyQt5环境搭建步骤图文详解
May 29 Python
Python使用random模块生成随机数操作实例详解
Sep 17 Python
tensorflow没有output结点,存储成pb文件的例子
Jan 04 Python
python3利用Axes3D库画3D模型图
Mar 25 Python
Django分组聚合查询实例分享
Apr 29 Python
Python爬虫开发与项目实战
Dec 16 Python
你喜欢篮球吗?Python实现篮球游戏
Jun 11 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
与空气斗智斗勇的经典《Overlord》,传说中的“无稽之谈”
2020/04/09 日漫
php下intval()和(int)转换使用与区别
2008/07/18 PHP
WordPress中创建用户角色的相关PHP函数使用详解
2015/12/25 PHP
jQuery Div中加载其他页面的实现代码
2009/02/27 Javascript
关于取不到由location.href提交而来的上级页面地址的解决办法
2009/07/30 Javascript
在jquery中combobox多选的不兼容问题总结
2013/12/24 Javascript
引入JS文件IE6报语法错误或缺少对象问题的解决方法
2014/01/09 Javascript
js文本框输入内容智能提示效果
2015/12/02 Javascript
很棒的Bootstrap选项卡切换效果
2016/07/01 Javascript
ReactNative-JS 调用原生方法实例代码
2016/10/08 Javascript
JavaScript运动框架 多值运动(四)
2017/05/18 Javascript
AngularJS读取JSON及XML文件的方法示例
2017/05/25 Javascript
vue 实现通过手机发送短信验证码注册功能
2018/04/19 Javascript
VUE DOM加载后执行自定义事件的方法
2018/09/07 Javascript
vue中的watch监听数据变化及watch中各属性的详解
2018/09/11 Javascript
jQuery实现的卷帘门滑入滑出效果【案例】
2019/02/18 jQuery
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
小程序富文本提取图片可放大缩小
2020/05/26 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
2020/11/06 Javascript
如何将Node.js中的回调转换为Promise
2020/11/10 Javascript
python下os模块强大的重命名方法renames详解
2017/03/07 Python
解决pycharm界面不能显示中文的问题
2018/05/23 Python
python 读取txt,json和hdf5文件的实例
2018/06/05 Python
解决python字典对值(值为列表)赋值出现重复的问题
2019/01/20 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
python过滤中英文标点符号的实例代码
2019/07/15 Python
法国春天百货官网:Printemps.com
2020/06/29 全球购物
非常详细的C#面试题集
2016/07/13 面试题
大学生个人事迹材料
2014/01/21 职场文书
会议活动邀请函
2014/01/27 职场文书
春节联欢会主持词
2014/03/24 职场文书
怎样写离婚协议书
2014/09/10 职场文书
员工自我工作评价
2015/03/06 职场文书
垂直极限观后感
2015/06/08 职场文书
基于PyTorch实现一个简单的CNN图像分类器
2021/05/29 Python
Python字符串的转义字符
2022/04/07 Python