【问题标题】:vgg16 model with CONVLSTM2D带有 CONVLSTM2D 的 vgg16 模型
【发布时间】:2018-12-19 13:24:03
【问题描述】:

我正在使用以下代码使用 LSTM 对视频进行分类。使用 VGG16 模型提取每一帧的特征。我也有兴趣在空间域中提取特征。我从 keras 文档中了解到 CONVLSTM2D 可以做到这一点。但是我不确定在使用 CONVLSTM2D 时如何使用 vgg16 的功能。

frames=19
channels=3
rows=224
columns=224
classes=2


video = Input(shape=(frames,
                     rows,
                     columns, channels))
cnn_base = VGG16(input_shape=(rows,columns,channels),weights="imagenet",include_top=False, pooling = 'avg' )





encoded_frames = TimeDistributed(cnn_base)(video)
encoded_sequence = LSTM(256)(encoded_frames)
hidden_layer = Dense(output_dim=1024, activation="relu")(encoded_sequence)
outputs = Dense(output_dim=classes, activation="softmax")(hidden_layer)
model = Model([video], outputs)

对此有何建议?

【问题讨论】:

  • 您不了解或不确定的地方是什么?你的模型看起来不错。你有没有训练过它并且得到了低准确率?
  • 嗯......只需使用 ConvLSTM2D 而不是 LSTM......一切看起来确实很好。

标签: keras conv-neural-network lstm


【解决方案1】:

ConvLSTM2D 需要类似图像的输入(高度、宽度、通道)。因此,您可以在稍后的 Flatten 和输出仍然具有形状(高度、宽度、通道)的 Dense 层之前使用 VGG 中层的输出,并将其输入到 ConvLSTM2D。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-02
    • 2020-09-02
    • 2021-05-03
    • 2020-08-05
    • 2019-11-16
    • 2022-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多