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使用chardet判断字符串编码的方法
Mar 13 Python
python 判断网络连通的实现方法
Apr 22 Python
Python运行不显示DOS窗口的解决方法
Oct 22 Python
Python 虚拟空间的使用代码详解
Jun 10 Python
Python简单处理坐标排序问题示例
Jul 11 Python
django页面跳转问题及注意事项
Jul 18 Python
Python换行与不换行的输出实例
Feb 19 Python
python json load json 数据后出现乱序的解决方案
Feb 27 Python
Python3-异步进程回调函数(callback())介绍
May 02 Python
详解python内置模块urllib
Sep 09 Python
用Python制作音乐海报
Jan 26 Python
基于Pytorch版yolov5的滑块验证码破解思路详解
Feb 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
php xml常用函数的集合(比较详细)
2013/06/06 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
CI配置多数据库访问的方法
2016/03/28 PHP
Yii框架连接mongodb数据库的代码
2016/07/27 PHP
PHP反射基础知识回顾
2020/09/10 PHP
JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
2013/11/20 Javascript
javascript计时器详解
2015/02/28 Javascript
深入分析jsonp协议原理
2015/09/26 Javascript
Bootstrap实现带动画过渡的弹出框
2016/08/09 Javascript
Bootstrap实现提示框和弹出框效果
2017/01/11 Javascript
Node.js  事件循环详解及实例
2017/08/06 Javascript
vue 多入口文件搭建 vue多页面搭建的实例讲解
2018/03/12 Javascript
使用mixins实现elementUI表单全局验证的解决方法
2019/04/02 Javascript
使用Bootstrap做一个朝代历史表
2019/12/10 Javascript
[34:39]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第二局
2016/03/05 DOTA
Python利用公共键如何对字典列表进行排序详解
2018/05/19 Python
python版飞机大战代码分享
2018/11/20 Python
python批量读取文件名并写入txt文件中
2020/09/05 Python
Python一行代码解决矩阵旋转的问题
2019/11/30 Python
python 链接sqlserver 写接口实例
2020/03/11 Python
Python多线程操作之互斥锁、递归锁、信号量、事件实例详解
2020/03/24 Python
简述 Python 的类和对象
2020/08/21 Python
用CSS3来实现社交分享按钮
2014/11/11 HTML / CSS
用html5绘制折线图的实例代码
2016/03/25 HTML / CSS
10个最常见的HTML5面试题 附答案
2016/06/06 HTML / CSS
Nili Lotan官网:Nili Lotan同名品牌
2018/01/07 全球购物
欧洲最大的品牌水上运动服装和设备在线零售商:Wuituit Outlet
2018/05/05 全球购物
关于Assembly命名空间的三个面试题
2015/07/23 面试题
食堂个人先进事迹
2014/01/22 职场文书
晚会邀请函范文
2014/01/24 职场文书
护士毕业生自荐信
2014/02/07 职场文书
工艺员岗位职责
2014/02/11 职场文书
法制宣传标语
2014/06/23 职场文书
2019垃圾分类宣传口号汇总
2019/08/16 职场文书
深入理解以DEBUG方式线程的底层运行原理
2021/06/21 Java/Android
基于Python实现流星雨效果的绘制
2022/03/18 Python