Keras JSON导出:inbound_nodes

时间:2017-08-21 10:16:26

标签: json export keras keras-layer

我试图理解以及如何插入keras模型的JSON表示。每个图层都将其输入保存在字段inbound_nodes中。我不明白他们是阵列。

例如,对于合并图层的2个输入,它看起来像:

inbound_nodes: [
  [
    ['average_pooling2d_1', 0, 0, {}],
    ['conv2d_3', 0, 0, {}],
  ]
]

所有阵列都是什么?为什么不这样保存:

inbound_nodes: ['average_pooling2d_1', 'conv2d_3']

我猜结构是因为有时必须以某种方式保存附加信息。那是什么样的信息?例如。何时是inbound_nodes的大小> 1?

2 个答案:

答案 0 :(得分:1)

' pooling2d'背后的参数可以设计用于将来的功能。当层具有其他数据流时,inbound_nodes的大小> 1。有关更多详细信息,请检查节点和层的定义keras source code

答案 1 :(得分:0)

所以这就是我发现的:

  • 如果重复使用图层,则使用外部数组。
  • 如果图层有多个输入,则使用内部数组。
  • 位置[0]显然是图层名称。
  • 如果"层"位置[1]为1。名称是一个模型,例如[" Base Model",1,...]表示可以在Base Model配置中找到该层。如果名称对应于图层,则为0。
  • 位置[2]是位置[1]为1时输出层的索引,因此代表模型

还不确定dict