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创建进程fork用法
Jun 04 Python
python生成验证码图片代码分享
Jan 28 Python
python实现Adapter模式实例代码
Feb 09 Python
python 2.7.14安装图文教程
Apr 08 Python
解读python logging模块的使用方法
Apr 17 Python
Python3.5实现的三级菜单功能示例
Mar 25 Python
django迁移数据库错误问题解决
Jul 29 Python
在 Python 中接管键盘中断信号的实现方法
Feb 04 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
Feb 10 Python
详解Flask前后端分离项目案例
Jul 24 Python
python3 中使用urllib问题以及urllib详解
Aug 03 Python
关于PySnooper 永远不要使用print进行调试的问题
Mar 04 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中的正则表达式函数介绍
2012/02/27 PHP
php获取用户浏览器版本的方法
2015/01/03 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
2016/07/21 PHP
PHP面相对象中的重载与重写
2017/02/13 PHP
PHP基于自增数据如何生成不重复的随机数示例
2017/05/19 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
详解php伪造Referer请求反盗链资源
2019/01/24 PHP
PHP正则表达式笔记与实例详解
2019/05/09 PHP
laravel validate 设置为中文的例子(验证提示为中文)
2019/09/29 PHP
javascript 定义初始化数组函数
2009/09/07 Javascript
细说javascript函数从函数的构成开始
2013/08/29 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
2015/05/19 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
2015/07/26 Javascript
JSON字符串和对象相互转换实例分析
2016/06/16 Javascript
JS只能输入正整数的简单实例
2016/10/07 Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
2017/12/22 Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
2018/03/26 Javascript
JavaScript函数、闭包、原型、面向对象学习笔记
2018/09/06 Javascript
vue本地打开build后生成的dist文件夹index.html问题
2019/09/04 Javascript
策略模式实现 Vue 动态表单验证的方法
2019/09/16 Javascript
解决vue addRoutes不生效问题
2020/08/04 Javascript
Vue前端判断数据对象是否为空的实例
2020/09/02 Javascript
详解Python异常处理中的Finally else的功能
2017/12/29 Python
Python File readlines() 使用方法
2018/03/19 Python
Django后台获取前端post上传的文件方法
2018/05/28 Python
利用Python写一个爬妹子的爬虫
2018/06/08 Python
python爬虫 基于requests模块的get请求实现详解
2019/08/20 Python
python3-flask-3将信息写入日志的实操方法
2019/11/12 Python
jenkins+python自动化测试持续集成教程
2020/05/12 Python
DjangoWeb使用Datatable进行后端分页的实现
2020/05/18 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
芝加哥牛排公司:Chicago Steak Company
2018/10/31 全球购物
企业文化建设实施方案
2014/03/22 职场文书
超市客服工作职责
2014/06/11 职场文书
利用Python第三方库实现预测NBA比赛结果
2021/06/21 Python