在Keras中将RNN与CNN一起使用

问题描述 投票:0回答:1

初学者问题

使用Keras,我有一个连续的CNN模型,该模型基于图像(输入)预测[3 * 1](回归)大小的输出。

如何实施RNN,以便将模型的输出作为第二个输入添加到下一步。(这样我们就有2个输入:图像和上一个序列的输出)?

model = models.Sequential()
model.add(layers.Conv2D(64, (3, 3), activation='relu', input_shape=X.shape[1:]))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Flatten())
model.add(layers.Dense(3, activation='linear'))
tensorflow keras lstm recurrent-neural-network keras-layer
1个回答
0
投票
class RecurrentModel(Model): def __init__(self, num_timesteps, *args, **kwargs): self.num_timesteps = num_timesteps super().__init__(*args, **kwargs) def build(self, input_shape): inputs = layers.Input((None, None, input_shape[-1])) x = layers.Conv2D(64, (3, 3), activation='relu'))(x) x = layers.MaxPooling2D((2, 2))(x) x = layers.Flatten()(x) x = layers.Dense(3, activation='linear')(x) self.model = Model(inputs=[inputs], outputs=[x]) def call(self, inputs, **kwargs): x = inputs for i in range(self.num_timestaps): x = self.model(x) return x
© www.soinside.com 2019 - 2024. All rights reserved.