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 文件操作实现代码
Oct 07 Python
python删除文件示例分享
Jan 28 Python
python实现逆波兰计算表达式实例详解
May 06 Python
Python使用win32 COM实现Excel的写入与保存功能示例
May 03 Python
强悍的Python读取大文件的解决方案
Feb 16 Python
python单线程下实现多个socket并发过程详解
Jul 27 Python
Python类中方法getitem和getattr详解
Aug 30 Python
pygame实现俄罗斯方块游戏(对战篇1)
Oct 29 Python
解决keras模型保存h5文件提示无此目录问题
Jul 01 Python
在Python 中将类对象序列化为JSON
Apr 06 Python
python中urllib包的网络请求教程
Apr 19 Python
python数据分析之单因素分析线性拟合及地理编码
Jun 25 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
全国FM电台频率大全 - 5 内蒙古自治区
2020/03/11 无线电
PHP数字格式化
2006/12/06 PHP
PHP里的中文变量说明
2011/07/23 PHP
关于php正则匹配汉字的方法介绍
2013/04/25 PHP
ThinkPHP模板引擎之导入资源文件方法详解
2014/06/18 PHP
建立良好体验度的Web注册系统ajax
2007/07/09 Javascript
jQuery1.5.1 animate方法源码阅读
2011/04/05 Javascript
js实现浏览器窗口大小被改变时触发事件的方法
2015/02/02 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
基于JavaScript怎么实现让歌词滚动播放
2015/11/03 Javascript
js+css3制作时钟特效
2016/10/16 Javascript
微信小程序 http请求的session管理
2017/06/07 Javascript
浅谈mint-ui 填坑之路
2017/11/06 Javascript
vue 项目常用加载器及配置详解
2018/01/22 Javascript
简单的vuex 的使用案例笔记
2018/04/13 Javascript
深入浅出了解Node.js Streams
2019/05/27 Javascript
Vue CLI3移动端适配(px2rem或postcss-plugin-px2rem)
2020/04/27 Javascript
[52:03]Secret vs VG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python中去空格函数的用法
2014/08/21 Python
用python读写excel的方法
2014/11/18 Python
用Python编写一个简单的俄罗斯方块游戏的教程
2015/04/03 Python
python监控linux内存并写入mongodb(推荐)
2017/09/11 Python
python实现pdf转换成word/txt纯文本文件
2018/06/07 Python
对Python+opencv将图片生成视频的实例详解
2019/01/08 Python
pytorch梯度剪裁方式
2020/02/04 Python
jupyter notebook插入本地图片的实现
2020/04/13 Python
基于python实现数组格式参数加密计算
2020/04/21 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
2020/12/31 Python
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
琳达·法罗眼镜英国官网:Linda Farrow英国
2021/01/19 全球购物
实习单位评语
2014/04/26 职场文书
2014年妇女工作总结
2014/12/06 职场文书
Idea连接MySQL数据库出现中文乱码的问题
2021/04/14 MySQL
JavaScript+HTML实现学生信息管理系统
2021/04/20 Javascript
Pygame如何使用精灵和碰撞检测
2021/11/17 Python
CSS子盒子水平和垂直居中的五种方法
2022/07/23 HTML / CSS