python - Keras 输出到模型的张量必须是 TensorFlow `Layer` 的输出
问题描述
我正在创建我的模型:
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)
因此,引发此错误是没有意义的。
解决方案
事实证明,在我的代码中的其他地方创建模型时,实际上是引发了这个错误。我已经处理这个模型很长时间了,我什至没有意识到。
推荐阅读
- json - 是否有任何方法可以使 CreateML 训练模型保持最新?
- parsing - 使用全局变量和返回值的两个解析实现之间的时间复杂度差异
- android - Firebase 离线支持
- pandas - 提取熊猫数据框中的列时如何有效地设置缺失列的默认值
- swift - 如何调试具有网络扩展作为隧道提供程序的 macOS 应用程序的问题?
- r - ggnet 网络避免重叠标签
- javascript - 将旧聊天消息添加到聊天框
- discord.py - 如何添加编辑消息的频道?
- android - 西班牙语 Kotlin 语音识别
- javascript - 神话身份验证登录中的 ErrorException