我正在这样创建我的模型:
inpt = tf.keras.layers.Input(shape=(None, None, 1))
output = inpt
...
output = tf.keras.layers.Conv2D(filters=1, kernel_size=3, padding='same')(inpt)
model = tf.keras.models.Model(inpt, output)
我一直看到标题中的错误,即输出张量必须是Tensorflow层的输出。我在源代码中查找了此错误,当输出不具有_keras_history
属性时会引发该错误。
在创建模型之前,我尝试打印出output._keras_history
并获取输出:
(<tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7fe6701bf128>, 0, 0)
因此出现此错误是没有意义的。
答案 0 :(得分:0)
事实证明,在我的代码的其他位置创建模型时,实际上是在引发此错误。我一直在处理这种模型很长时间,甚至没有意识到。