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的web框架中中编写日志列表的教程
Apr 30 Python
python3使用scrapy生成csv文件代码示例
Dec 28 Python
Selenium元素的常用操作方法分析
Aug 10 Python
java中的控制结构(if,循环)详解
Jun 26 Python
Python监控服务器实用工具psutil使用解析
Dec 19 Python
Python使用docx模块实现刷题功能代码
Feb 13 Python
Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来
Apr 21 Python
python rolling regression. 使用 Python 实现滚动回归操作
Jun 08 Python
python 视频下载神器(you-get)的具体使用
Jan 06 Python
Django如何与Ajax交互
Apr 29 Python
pytorch训练神经网络爆内存的解决方案
May 22 Python
Python中如何处理常见报错
Jan 18 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 daodb插入、更新与删除数据
2009/03/19 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
2017/08/04 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
PHP7 新增常量
2021/03/09 PHP
javascript动画效果类封装代码
2007/08/28 Javascript
javascript IFrame 强制刷新代码
2009/07/23 Javascript
jQuery UI Datepicker length为空或不是对象错误的解决方法
2010/12/19 Javascript
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
JavaScript关闭当前页面(窗口)不带任何提示
2014/03/26 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
2014/05/28 Javascript
jQuery中ajax和post处理json的不同示例对比
2014/11/02 Javascript
jQuery EasyUI tree增加搜索功能的实现方法
2017/04/27 jQuery
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
jQuery 禁止表单用户名、密码自动填充功能
2017/10/30 jQuery
jQuery UI实现动画效果代码分享
2018/08/19 jQuery
Python与shell的3种交互方式介绍
2015/04/11 Python
Python脚本判断 Linux 是否运行在虚拟机上
2015/04/25 Python
python的pip安装以及使用教程
2018/09/18 Python
PyQt5 QListWidget选择多项并返回的实例
2019/06/17 Python
python 计算积分图和haar特征的实例代码
2019/11/20 Python
python 实现查询Neo4j多节点的多层关系
2019/12/23 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
2020/06/01 Python
如何配置、使用和清除Smarty缓存
2015/12/23 面试题
应用英语专业自荐信
2014/01/26 职场文书
工程质量月活动方案
2014/02/19 职场文书
保护环境建议书400字
2014/05/13 职场文书
国际贸易系求职信
2014/08/09 职场文书
商场促销活动策划方案
2014/08/18 职场文书
机关干部个人对照检查材料思想汇报
2014/09/28 职场文书
投资入股合作协议书
2014/10/28 职场文书
小学班主任教育随笔
2015/08/15 职场文书
运动会200米广播稿
2015/08/19 职场文书
创业计划书之网络外卖
2019/10/31 职场文书
python实现自定义日志的具体方法
2021/05/28 Python
shell进度条追踪指令执行时间的场景分析
2022/06/16 Servers