2017-08-21 36 views
1

我想了解和如何interprate keras模型的JSON表示。每个图层都有保存在字段inbound_nodes内的输入。我不明白的是他们阵列。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的大小是什么时候?

回答

0

因此,这里是什么我发现:

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

仍然不能确定的字典

1

背后“pooling2d”的参数可以被设计用于inbound_nodes的未来酒店特色尺寸> 1时层具有其他数据stream.For更多详情,请节点的定义和层keras source code