4Manuals

  • PDF Cloud HOME

CNN LSTM keras用于视频分类 Download

    如何将文本边界框与pyplot.Rectangle对齐? 导入类问题 在Python数据框中选择列时出错 Tesseract 4.0.0培训步骤,针对带有扫描图像的新语言 使用Rabbit的pika确认消息 如何在按住键的同时暂停VideoStream? Python OpenCV TypeError:无法处理此数据类型 使用buildozer不会下载sdl2_image SMTPSenderRefused,421,超出超时 Tensorflow多线程推理比单线程推理慢

我创建了一个视频数据集,其中每个视频的尺寸为5(帧)x 32(宽度)x 32(高度)x 4(通道)。我正在尝试使用CNN LSTM网络对这些视频进行分类(二进制分类),但是我对输入形状以及如何重塑数据集以训练网络感到困惑。

model = Sequential()
model.add(TimeDistributed(Conv2D(64, 5, activation='relu', padding='same', name='conv1', input_shape=??))
model.add(TimeDistributed(MaxPooling2D(pool_size=(2,2), strides=(2,2), padding='same', name='pool1')))

model.add(TimeDistributed(Conv2D(64, 5, activation='relu', padding='same', name='conv2'))
model.add(TimeDistributed(MaxPooling2D(pool_size=(2,2), strides=(2,2), padding='same', name='pool2')))

model.add(TimeDistributed(Conv2D(64, 5, activation='relu', padding='same', name='conv3'))
model.add(TimeDistributed(MaxPooling2D(pool_size=(2,2), strides=(2,2), padding='same', name='pool3')))

model.add(TimeDistributed(Conv2D(64, 5, activation='relu', padding='same', name='conv4'))
model.add(TimeDistributed(MaxPooling2D(pool_size=(2,2), strides=(2,2), padding='same', name='pool4')))


model.add(TimeDistributed(Flatten()))
model.add(LSTM(256, return_sequences=False, dropout=0.5))
model.add(Dense(1, activation='sigmoid'))

我是否缺少模型中的任何内容?

1 个答案:

答案 0 :(得分:0)

您的输入形状应为(batch_size, time steps, height, width, channels)。因此它应该是5维张量。

此外,您的input_shape参数应该像这样。它应该是TimeDistributed层的参数,而不是Conv2D层的参数,因为TimeDistributed是第一层。在这里,我显示的是输入形状,

  • 任意数量的样本数量
  • 5个时间步(视频帧)
  • 高32v像素(高)
  • 宽32像素(宽)
  • 4个频道
model.add(TimeDistributed(Conv2D(64, 5, activation='relu', padding='same', name='conv1'), input_shape=(5, 32, 32, 4)))



Similar searches
    为什么我得到无法识别的参数:[查询] 用Java清除并覆盖ArrayList JavaScript跳过列表上的一个索引 无法使用cv.imread() 无法删除显示为“已添加到Chome”但未显示在已安装扩展程序列表中的Chrome扩展程序