用于一对多网络的 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)
。
我想将一些 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)
。