假设我在Keras有一个模型,其结构已经修复。该模型有两个输入和一个输出。应使用最后一步的输出来计算当前输出。 sketch of the problem
我的方法如下:
model_1 = load_model(...)
x = Input(shape=(1,), name="input1")
input_concat = Concatenate([x, y])
y = model_1(input_concat)
我已经尝试过,github建议添加的 bstriner (我通过一个简单的Dense(1)
交换了model_1 - Layer for reproducibility):
x = Input(shape=(1,), name="input1")
y = K.zeros(shape=(1,))
input_concat = Concatenate([x, y])
y = Dense(1)(input_concat)
..但显然Concatenate不适用于K.zeros(..)解决方案。 (它也不适用于Add()
- 图层而不是Concatenate()
- 图层,因为在按model_total = Model(inputs=x, outputs=y
编译整个模型后会出现以下错误
'Variable'
对象没有属性'_keras_history'
提前致谢!
答案 0 :(得分:0)
您可以尝试替换原始的第0层输入层。
model_1 = load_model(...)
model_1.layers[0] = new_input_layer
但是我仍然不确定这是否会像你期望的那样。您将把前馈模型转换为递归网络。我希望你不能训练它。