为什么 keras.backend.pool3d 要求 tensor_in 是 5 维的?

Why does keras.backend.pool3d requires tensor_in to be 5-dimensional?

我有以下代码

from tensorflow import keras
from keras import backend as K

pool_size = (2,2,2)
strides = (2,2,2)

yt = K.zeros(shape=(10,10,10))

result = keras.backend.pool3d(yt, pool_size, strides, pool_mode="avg")

当我尝试 运行 代码时,它说

.. InvalidArgumentError: tensor_in must be 5-dimensional [Op:AvgPool3D] name: AvgPool3D/

我好像不太喜欢yt的维度。 但我想在尺寸为 3x3x3 的 3d 图像中最大化池。另一个维度应该是什么?

  • 批量大小
  • 渠道

作为 Keras 中的每个类似卷积的操作,这些维度都是必需的。

  • 使用 "channels_last"(默认):(batch, size1, size2, size3, channels)
  • 使用"channels_first":(batch, channels, size1, size2, size3)

所以:

yt = K.zeros(shape=(1,10,10,10,1))