【发布时间】: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