【发布时间】:2018-12-18 04:55:06
【问题描述】:
我想要一个 Keras 模型,它始终输出所需输出形状的恒定值。
def build_model(input_shape, output_shape)
input = tf.keras.layers.Input(shape=(512,512,3))
x = tf.keras.backend.constant(1, shape=output_shape)
output = tf.keras.layers.Lambda(lambda x: x)(x)
model = Model(inputs=input, outputs=output)
return model
model = build_model((512,512,3), (512,512,32))
我收到以下错误:
模型的输出张量必须是 TensorFlow Layer 的输出(因此保存过去的层元数据)。找到:Tensor("Const_3:0", shape=(512, 512, 32), dtype=float32)
我该如何解决?
更新
输入和输出确实没有连接。我想以尽可能低的 GPU 负载测试我的处理管道的性能。我认为在不进行任何计算的情况下始终输出相同的值不会过多地使用 GPU。但我仍然确保我的数据已正确加载(输入层)。
【问题讨论】:
-
input和output节点未连接。你想要达到的目标也不清楚。 -
它们确实没有连接。我想用尽可能低的 GPU 工作负载测试我的管道,但仍然使用我的数据作为输入以及我的成本函数(因此输出需要具有一定的形状)。
-
您是否尝试过输出输入?
-
我认为如果你输出输入,tensorflow 足够聪明,不会将数据传输到 GPU 并返回(因为地址是相同的)。我认为最简单的方法是在输入上添加线性
Activation。 -
@Mitiku 你是正确的输出和输入需要连接。我不能使用激活函数,因为输出的形状应该与输入不同。
标签: tensorflow keras