我試圖從兩個模型輸出之間的差異中學習模型。所以我做了如下的代碼。但它發生的錯誤如下:模型的輸出張量必須是凱拉斯張量
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'層也是一個好主意。 –