问题描述:
今天在合并多个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)