【发布时间】:2019-12-08 14:15:03
【问题描述】:
我正在尝试将视频分为 10 个类别。到目前为止我有这个模型:
model=keras.models.Sequential()
model.add(keras.layers.TimeDistributed(keras.layers.Conv2D(filters=3,kernel_size=(5, 5),activation='relu'),input_shape=(None,90,90,3)))
model.add(keras.layers.TimeDistributed(keras.layers.Flatten()))
model.add(keras.layers.LSTM(20,activation='relu'))
model.add(keras.layers.Dense(10, activation='softmax'))
model.compile(loss=keras.losses.categorical_crossentropy,
optimizer=keras.optimizers.Adam(),
metrics=['accuracy'])
问题是每个视频都有不同的帧数,每个帧是 90x90 3 个通道。我观察到 input_shape 中的第一个输入表示每个视频中的帧数,但每个视频中的帧数不同。 如何在这些视频上训练这个模型?我加载了以下格式的视频: [[视频1的图像1,视频1的图像2],[视频2的图像1,视频2的图像2,视频2的图像3],[视频3的图像1]]。 如果我尝试这样训练,我会出错。 numpy 也不支持变长。我还想避免添加黑框来制作等长的视频。
【问题讨论】:
标签: python image-processing keras deep-learning