[問題] keras custom layer multiple output請教
大家好, 最近在嘗試寫一個keras的attention layer
為了能夠視覺化, 所以我把 def call (self, x, mask=None):
的 return 值,改為list 內容類似 [outputs, 權重] 這樣
以上在train的時候,都很順利, 視覺化效果也能夠透過權重來呈現
但是, 當我把train好的model save下來, 然後 再次 load_model()時
會報一個神奇的錯誤:
File
"C:\Users\Allen\Anaconda3\envs\tensorflow\lib\site-packages\keras\engine\topology.py",
line 719, in _add_inbound_node
output_tensors[i]._keras_shape = output_shapes[i]
IndexError: list index out of range
我在load_model的時候,有加入custom_objects的參數設定,把我的attention layer引入
使用的keras 版本為 2.1.5
python版本為 3.5
想請教版上大家有沒有遇過類似的情形,有相關的解法嗎QQ?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.130.131.58
※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1532757530.A.AAA.html
推
07/28 15:54,
6年前
, 1F
07/28 15:54, 1F
→
07/28 16:02,
6年前
, 2F
07/28 16:02, 2F
剛才異想天開試了一個方法, 我想說,既然load_model之後 他只會丟出一個output
那我就在call() 裡面,自己把 output 跟 權重的array append起來 再return
(之後再自己切割取要的部分)
因為過程當中 我有用到reshape, 實驗結果更慘, 一樣在train的時候都正常
load_model() 的時候, 又報錯, 說 call() 裡面的 'output'物件 是tensor
沒有 .reshape() 方法 囧rz...
※ 編輯: clairehuei (220.130.131.58), 07/28/2018 16:09:09
推
07/28 16:40,
6年前
, 3F
07/28 16:40, 3F
→
07/28 16:40,
6年前
, 4F
07/28 16:40, 4F
→
07/28 16:40,
6年前
, 5F
07/28 16:40, 5F
→
07/28 16:40,
6年前
, 6F
07/28 16:40, 6F
推
07/29 04:28,
6年前
, 7F
07/29 04:28, 7F
→
07/29 21:58,
6年前
, 8F
07/29 21:58, 8F
→
07/29 21:58,
6年前
, 9F
07/29 21:58, 9F
DataScience 近期熱門文章
PTT數位生活區 即時熱門文章