我想要一个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 . 但我仍然确保我的数据正确加载(输入层) .
1 回答
问题确实是需要连接输出和输入 . 我无法使用激活层,因为输出应该与输入的形状不同 . 因此,我最终将输入连接11次并再次切片以获得具有0个可训练参数的正确形状的输出 .
最终的模型构建功能如下所示: