用Keras进行视频分类

mar*_*ebr 5 python-2.7 deep-learning keras

我正在使用Keras对视频片段进行分类。我的网络体系结构是CNN,后跟RNN,就像本文中介绍的那样: 长期递归卷积网络 我正在使用TimeDistributed Layer Wrapper作为CNN部分。由于我的视频片段的序列长度不同,因此我input_shape(None, rows, cols, channels)。时间步长当然没有。这是我的模型:

seq_input = Input(shape=(None, 213, 213, 3 )
frame_sequence = TimeDistributed(cnn_model)(seq_input)
time_sequence = SimpleRNN(512, return_sequences=False)(frame_sequence)
predictions = Dense(nb_10, activation='softmax')(time_sequence)
Run Code Online (Sandbox Code Playgroud)

为了进行训练,我使用fit_generator和一个生成器,该生成器生成一批要训练的32个序列。我的问题是如何将数据序列连接到一个批次中,例如: sequence_1具有(5, 213, 213, 3)5个时间步长
sequence_2的形状具有(10, 213, 213, 3)10个时间步长的形状
如果例如我的批量大小为2,则生成器应生成具有形状(2, None, 213, 213, 3)

我如何在Keras中实现这一点?谢谢