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实现linux下使用xcopy的方法
Jun 28 Python
python根据日期返回星期几的方法
Jul 06 Python
Python for Informatics 第11章之正则表达式(二)
Apr 21 Python
Python随机函数random()使用方法小结
Apr 29 Python
对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
May 25 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
May 13 Python
决策树剪枝算法的python实现方法详解
Sep 18 Python
pytorch实现对输入超过三通道的数据进行训练
Jan 15 Python
Python如何使用PIL Image制作GIF图片
May 16 Python
Python decimal模块使用方法详解
Jun 08 Python
为什么python比较流行
Jun 19 Python
Python字符串格式化方式
Apr 07 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/04/09 PHP
php中使用Akismet防止垃圾评论的代码
2011/06/10 PHP
PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
2017/06/20 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
PHP设计模式之工厂模式定义与用法详解
2018/04/03 PHP
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
JavaScript splice()方法详解
2020/09/22 Javascript
JS跨域问题详解
2014/11/25 Javascript
Jquery实现顶部弹出框特效
2015/08/08 Javascript
BootStrap中Datetimepicker和uploadify插件应用实例小结
2016/05/26 Javascript
JS模拟的Map类实现方法
2016/06/17 Javascript
js实现获取鼠标当前的位置
2016/12/14 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
2017/07/19 Javascript
详解最新vue-cli 2.9.1的webpack存在问题
2017/12/16 Javascript
express+mockjs实现模拟后台数据发送功能
2018/01/07 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
vue获取form表单的值示例
2019/10/29 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
2021/02/26 Vue.js
pymongo实现控制mongodb中数字字段做加法的方法
2015/03/26 Python
Django的URLconf中使用缺省视图参数的方法
2015/07/18 Python
详解python读取image
2019/04/03 Python
python中类的输出或类的实例输出为这种形式的原因
2019/08/12 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
Python中zip函数如何使用
2020/06/04 Python
自学python用什么系统好
2020/06/23 Python
Html5新标签解释及用法
2012/02/17 HTML / CSS
HTML5有哪些新特征
2015/12/01 HTML / CSS
HTML5单页面手势滑屏切换原理
2016/03/21 HTML / CSS
中国酒类在线零售网站:酒仙网
2016/08/20 全球购物
生日寿宴答谢词
2014/01/19 职场文书
党员大会主持词
2014/04/02 职场文书
小学班主任自我评价
2015/03/11 职场文书
国家助学金受助感言
2015/08/01 职场文书
防震减灾主题班会
2015/08/14 职场文书
导游词之神仙居景区
2019/11/15 职场文书
Java新手教程之ArrayList的基本使用
2021/06/20 Java/Android