用于一对多网络的 ConvLSTM2D

ConvLSTM2D for one-to-many network

我想将一些 ConvLSTM2D 层用于多输出回归模型。一个图像应该是输入,并且根据图像,一定数量的值应该是用零填充的输出。我的问题是使用什么函数来获得与输入相同的图像?

如果我使用

import keras.backend as K
K.tile(input, number_timesteps)

我收到错误: AttributeError:'Tensor' 对象没有属性“_keras_history”。 有没有其他方法可以解决这个问题,还是我必须多次输入相同的图像?

模型中的所有 keras 张量必须由 Layer.
生成 当您使用后端函数时,您没有使用图层。

您可以使用 Lambda 层来包装自定义和后端函数:

tiledOutputs = Lambda(lambda x: K.tile(x, number_timesteps))(imageInputs)   

或将层添加到顺序模型:

model.add(Lambda(lambda x: K.tile(x, number_timesteps)))

但您可能正在寻找 K.stack([x]*number_timesteps, axis=1)