我正在尝试训练2D卷积LSTM,以基于视频数据进行分类预测。但是,我的输出层似乎遇到了问题:
““ ValueError:检查目标时出错:预期density_1具有5个维,但数组的形状为(1,1939,9)”
我当前的模型基于Keras Team提供的ConvLSTM2D示例。我认为上述错误是由于我误解了示例及其基本原理而导致的。
数据
我有任意数量的视频,其中每个视频包含任意数量的帧。每帧为135x240x1(最后一个颜色通道)。这将导致输入形状为(None,None,135、240、1),其中两个“ None”值分别是批次大小和时间步长。如果我训练一个具有1052帧的视频,那么我的输入形状将变为(1、1052、135、240、1)。
对于每一帧,模型应跨9个类别预测0到1之间的值。这意味着我的输出形状为(None,None,9)。如果我训练带有1052帧的单个视频,则此形状变为(1、1052、9)。
模型
Layer (type) Output Shape Param #
=================================================================
conv_lst_m2d_1 (ConvLSTM2D) (None, None, 135, 240, 40 59200
_________________________________________________________________
batch_normalization_1 (Batch (None, None, 135, 240, 40 160
_________________________________________________________________
conv_lst_m2d_2 (ConvLSTM2D) (None, None, 135, 240, 40 115360
_________________________________________________________________
batch_normalization_2 (Batch (None, None, 135, 240, 40 160
_________________________________________________________________
conv_lst_m2d_3 (ConvLSTM2D) (None, None, 135, 240, 40 115360
_________________________________________________________________
batch_normalization_3 (Batch (None, None, 135, 240, 40 160
_________________________________________________________________
dense_1 (Dense) (None, None, 135, 240, …Run Code Online (Sandbox Code Playgroud)