我试图从两个模型输出之间的差异中学习模型。所以我做了如下的代码。但它发生的错误如下:模型的输出张量必须是凯拉斯张量
TypeError:模型的输出张量必须是Keras张量。发现:Tensor(“sub:0”,shape =(?, 10),dtype = float32)
我找到了包括Lambda在内的相关答案,但我无法解决此问题。 有谁知道这个问题? 可以看出将张量转换为keras张量。
Thx提前。
from keras.layers import Dense
from keras.models import Model
from keras.models import Sequential
left_branch = Sequential()
left_branch.add(Dense(10, input_dim=784))
right_branch = Sequential()
right_branch.add(Dense(10, input_dim=784))
diff = left_branch.output - right_branch.output
model = Model(inputs=[left_branch.input, right_branch.input], outputs=[diff])
model.compile(optimizer='rmsprop', loss='binary_crossentropy', loss_weights=[1.])
model.summary(line_length=150)
谢谢!,它的工作原理。我很感激,这将有所帮助。 – semenbari
:) - 此外,对于这个答案不是必需的,但是不像我那样使用'Activation',理解'Lambda'层也是一个好主意。 –