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之玩转字符串(2)更新篇
Sep 28 Python
windows及linux环境下永久修改pip镜像源的方法
Nov 28 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
Dec 21 Python
如何用Python实现简单的Markdown转换器
Jul 16 Python
Pandas GroupBy对象 索引与迭代方法
Nov 16 Python
python 实现敏感词过滤的方法
Jan 21 Python
python pycharm最新版本激活码(永久有效)附python安装教程
Sep 18 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
Jan 10 Python
基于Numba提高python运行效率过程解析
Mar 02 Python
python suds访问webservice服务实现
Jun 26 Python
20行Python代码实现一款永久免费PDF编辑工具的实现
Aug 27 Python
PYTHON 使用 Pandas 删除某列指定值所在的行
Apr 28 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
PHP4实际应用经验篇(2)
2006/10/09 PHP
php全排列递归算法代码
2012/10/09 PHP
php设置允许大文件上传示例代码
2014/03/10 PHP
PHP学习笔记(二):变量详解
2015/04/17 PHP
关于PHP通用返回值设置方法
2017/03/31 PHP
Javascript笔记一 js以及json基础使用说明
2010/05/22 Javascript
jQuery选择头像并实时显示的代码
2010/06/27 Javascript
JavaScript格式化数字的函数代码
2010/11/30 Javascript
基于jquery的textarea发布框限制文字字数输入(添加中文识别)
2012/02/16 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
网站内容禁止复制和粘贴、另存为的js代码
2014/02/26 Javascript
轻松创建nodejs服务器(7):阻塞操作的实现
2014/12/18 NodeJs
javascript判断变量是否有值的方法
2015/04/20 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
2017/10/26 Javascript
eslint 的三大通用规则详解
2019/05/16 Javascript
[07:40]DOTA2每周TOP10 精彩击杀集锦vol.4
2014/06/25 DOTA
Sanic框架异常处理与中间件操作实例分析
2018/07/16 Python
python 移除字符串尾部的数字方法
2018/07/17 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
2019/01/04 Python
tensorflow实现对张量数据的切片操作方式
2020/01/19 Python
python时间序列数据转为timestamp格式的方法
2020/08/03 Python
AmazeUI中各种的导航式菜单与解决方法
2020/08/19 HTML / CSS
改变生活的男士内衣:SAXX Underwear
2019/08/28 全球购物
期末自我鉴定
2014/02/02 职场文书
婚礼主持结束词
2014/03/13 职场文书
光信息科学与技术专业职业生涯规划
2014/03/13 职场文书
大学新生军训自我鉴定
2014/03/18 职场文书
服务承诺书格式
2014/05/21 职场文书
中考标语大全
2014/06/05 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
毕业设计指导教师评语
2014/12/30 职场文书
2015年领导干部廉洁自律工作总结
2015/05/26 职场文书
JavaScript 定时器详情
2021/11/11 Javascript
Redis Lua脚本实现ip限流示例
2022/07/15 Redis