問題描述:
今天在合併多個Keras model時,遇到錯誤,記錄一下解決方法。
拋出錯誤:
ValueError: Graph disconnected: cannot obtain value for tensor Tensor(“input_14:0”, shape=(None, 24, 9, 1), dtype=float32) at layer “input_14”. The following previous layers were accessed without issue: []
原因分析:
查找資料,發現錯誤原因有三類:
解決方法:
經排查,我遇到的問題屬於第3種,解決方法如下:
完整代碼:
def mvcnn_model():
'''
down,up,left,right 爲 keras model
'''
n_classes = 2
data = Input(shape=(24,9,1), name='inps')
down_out = down.output
up_out = up.output
left_out = left.output
right_out = right.output
down_in = down.input
up_in = up.input
left_in = left.input
right_in = right.input
merged = concatenate([down_out, up_out, left_out, right_out, data], axis=-1)
model = Model(inputs=data, outputs=merged)
return model
出錯語句:
model = Model(inputs=data, outputs=merged)
解決方法:
model = Model(inputs=[down_in, up_in, left_in, right_in, data], outputs=dense4)