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实现把json格式转换成文本或sql文件
Jul 10 Python
OpenCV-Python实现轮廓检测实例分析
Jan 05 Python
详解Tensorflow数据读取有三种方式(next_batch)
Feb 01 Python
selenium+python 对输入框的输入处理方法
Oct 11 Python
python opencv 批量改变图片的尺寸大小的方法
Jun 28 Python
django多个APP的urls设置方法(views重复问题解决)
Jul 19 Python
python3.7 openpyxl 删除指定一列或者一行的代码
Oct 08 Python
详解python中*号的用法
Oct 21 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
Nov 15 Python
新建文件时Pycharm中自动设置头部模板信息的方法
Apr 17 Python
python thrift 实现 单端口多服务的过程
Jun 08 Python
Python tkinter之Bind(绑定事件)的使用示例
Feb 05 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 文件上传模型,支持多文件上传
2009/08/13 PHP
php中strtotime函数用法详解
2014/11/15 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
浅谈PHPANALYSIS提取关键字
2019/03/08 PHP
Javascript 中文字符串处理额外注意事项
2009/11/15 Javascript
javascript实现的在当前窗口中漂浮框的代码
2010/03/15 Javascript
input 输入框内的输入事件详细分析
2010/03/17 Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
2012/02/27 Javascript
页面回到顶部的三种实现(锚标记,js)
2012/10/01 Javascript
Jquery+CSS3实现一款简洁大气带滑动效果的弹出层
2013/05/15 Javascript
JavaScript判断数组是否存在key的简单实例
2016/08/03 Javascript
React Native仿美团下拉菜单的实例代码
2017/08/08 Javascript
Seajs源码详解分析
2019/04/02 Javascript
layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法
2019/09/25 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
[02:18]DOTA2英雄基础教程 育母蜘蛛
2014/01/20 DOTA
[17:00]DOTA2 HEROS教学视频教你分分钟做大人-帕克
2014/06/10 DOTA
[03:51]吞吞映像 每周精彩击杀top10第二弹
2014/06/25 DOTA
Python中字典映射类型的学习教程
2015/08/20 Python
python基于pygame实现响应游戏中事件的方法(附源码)
2015/11/11 Python
windows下Virtualenvwrapper安装教程
2017/12/13 Python
Python KMeans聚类问题分析
2018/02/23 Python
对python的文件内注释 help注释方法
2018/05/23 Python
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
matplotlib之多边形选区(PolygonSelector)的使用
2021/02/24 Python
HTML5实现多张图片上传功能
2016/03/11 HTML / CSS
Electrolux伊莱克斯巴西商店:家用电器、小家电和配件
2018/05/23 全球购物
车贷收入证明范本
2014/01/09 职场文书
九年级物理教学反思
2014/01/29 职场文书
超市采购员岗位职责
2014/02/01 职场文书
校园演讲稿汇总
2014/05/21 职场文书
五一晚会主持词
2015/07/01 职场文书
建筑工程挂靠协议书
2016/03/23 职场文书
python3读取文件指定行的三种方法
2021/05/24 Python
微信小程序APP的生命周期及页面的生命周期
2022/04/19 Javascript
python使用pycharm安装pyqt5以及相关配置
2022/04/22 Python