如何将 5D 张量输入到 keras model.fit

How to input 5D tensor to keras model.fit

我正在使用 tensorflow ver 2,tensorflow.keras。

我做的一个模型是tf.keras.Conv2D的序列(需要4D输入张量(samples, rows, cols, channels)

然后 tf.keras.convLSTM2D(这需要 5D 输入张量(样本、时间、行、列、通道)。

由于这个原因,我用 5D 张量(样本、时间、行、列、通道)进行了输入,但在我实现 model.fit(train_data, train_data... )

有什么方法可以让model.fit取5维张量吗?

您需要实现 TimeDistributed conv2D,如:

x_conv = tf.keras.layers.TimeDistributed(tf.keras.layers.Conv2D(filters=filters,
                                                                kernel_size=kernel_size,
                                                                strides=strides,
                                                                padding='same',
                                                                kernel_initializer='he_normal'))(x)

通过这种方式,图层可以理解您在 timestep

上提供 4D 输入