2017-08-21 61 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