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实现协同过滤的教程
Apr 08 Python
在Python中使用第三方模块的教程
Apr 27 Python
python实现连接mongodb的方法
May 08 Python
python检查URL是否正常访问的小技巧
Feb 25 Python
python数据类型_元组、字典常用操作方法(介绍)
May 30 Python
在linux系统下安装python librtmp包的实现方法
Jul 22 Python
python 实现多维数组转向量
Nov 30 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
Dec 03 Python
Python爬虫如何应对Cloudflare邮箱加密
Jun 24 Python
Python变量格式化输出实现原理解析
Aug 06 Python
Django创建一个后台的基本步骤记录
Oct 02 Python
Django使用channels + websocket打造在线聊天室
May 20 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面向对象之旅:深入理解static变量与方法
2014/01/06 PHP
php页码形式分页函数支持静态化地址及ajax分页
2014/03/28 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
2014/11/25 PHP
PHP使用header()输出图片缓存实例
2014/12/09 PHP
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
jQuery选择器源码解读(七):elementMatcher函数
2015/03/31 Javascript
优化RequireJS项目的相关技巧总结
2015/07/01 Javascript
JavaScript多线程详解
2015/08/12 Javascript
jQuery使用zTree插件实现树形菜单和异步加载
2016/02/25 Javascript
JavaScript+CSS实现的可折叠二级菜单实例
2016/02/29 Javascript
js在ie下打开对话窗口的方法小结
2016/10/24 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
微信小程序实现自定义modal弹窗封装的方法
2018/06/15 Javascript
layui 监听表格复选框选中值的方法
2018/08/15 Javascript
微信小程序中使用自定义图标(阿里icon)的方法
2018/08/20 Javascript
浅谈JavaScript 代码整洁之道
2018/10/23 Javascript
ES6知识点整理之函数数组参数的默认值及其解构应用示例
2019/04/17 Javascript
Vue 之孙组件向爷组件通信的实现
2019/04/23 Javascript
JS Math对象与Math方法实例小结
2019/07/05 Javascript
详解利用nodejs对本地json文件进行增删改查
2019/09/20 NodeJs
node.js实现简单的压缩/解压缩功能示例
2019/11/05 Javascript
node实现mock-plugin中间件的方法
2019/12/25 Javascript
Python调用C语言开发的共享库方法实例
2015/03/18 Python
介绍Python中几个常用的类方法
2015/04/08 Python
Python 遍历列表里面序号和值的方法(三种)
2017/02/17 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
python多线程和多进程关系详解
2020/12/14 Python
HTML5 Plus 实现手机APP拍照或相册选择图片上传功能
2016/07/13 HTML / CSS
Dr. Martens马汀博士澳大利亚官网:马丁靴鼻祖
2019/07/02 全球购物
淘宝活动策划方案
2014/02/06 职场文书
大学生个人自荐信
2014/02/24 职场文书
酒店优秀员工事迹材料
2014/06/02 职场文书
新闻学专业求职信
2014/07/28 职场文书
防灾减灾日活动总结
2014/08/26 职场文书
预防职务犯罪警示教育心得体会
2016/01/15 职场文书