keras 获取某层输出 获取复用层的多次输出实例

 更新时间:2020年05月23日 09:44:27   作者:TinaO-O  
这篇文章主要介绍了keras 获取某层输出 获取复用层的多次输出实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

官方文档很全面,搜索功能也很好。但是如果你想单独实现某个功能,根本无从搜寻。于是我写了这个笔记。从功能出发。

两个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 实现图像特效中的油画效果

    这篇文章主要是为大家简单介绍一下图像添加油画特效的基本原理以及代码实现,文中的示例代码很详细,对我们学习或者工作有一点的价值,感兴趣的小伙伴可以了解一下
    2021-12-12
  • python 实现批量xls文件转csv文件的方法

    python 实现批量xls文件转csv文件的方法

    今天小编就为大家分享一篇python 实现批量xls文件转csv文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python实现享元模式的示例代码

    Python实现享元模式的示例代码

    享元模式是一种结构型设计模式,旨在通过共享尽可能多的相似对象来减少内存使用,提高性能,下面我们就来看看如何使用Python实现享元模式吧
    2024-02-02
  • python循环之彩色圆环实现示例

    python循环之彩色圆环实现示例

    这篇文章主要为大家介绍了python循环之彩色圆环实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Python自动登录126邮箱的方法

    Python自动登录126邮箱的方法

    这篇文章主要介绍了Python自动登录126邮箱的方法,涉及Python针对邮箱操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • pandas中.loc和.iloc以及.at和.iat的区别说明

    pandas中.loc和.iloc以及.at和.iat的区别说明

    这篇文章主要介绍了pandas中.loc和.iloc以及.at和.iat的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • 详解python:time模块用法

    详解python:time模块用法

    这篇文章主要介绍了python:time模块用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Python中的axis参数的具体使用

    Python中的axis参数的具体使用

    在我们使用Python中的Numpy和Pandas进行数据分析的时候,经常会遇到axis参数,本文就来介绍一下axis参数的具体使用,感兴趣的可以了解一下
    2021-12-12
  • python文件读写操作小结

    python文件读写操作小结

    python文件对象提供了三个“读”方法: read()、readline() 和 readlines(),每种方法可以接受一个变量以限制每次读取的数据量,这篇文章主要介绍了python文件读写小结,需要的朋友可以参考下
    2022-02-02
  • python openpyxl模块的使用详解

    python openpyxl模块的使用详解

    这篇文章主要介绍了python openpyxl模块的使用详解,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-02-02

最新评论