Tensorflow 和 Theano 中图像数据集表示的区别

Difference between image dataset representation in Tensorflow and Theano

根据下面的代码片段从这个repo

# Define image input layer
if DIM_ORDERING == 'th':
    INP_SHAPE = (3, 224, 224)  # 3 - Number of RGB Colours
    img_input = Input(shape=INP_SHAPE)
    CONCAT_AXIS = 1
elif DIM_ORDERING == 'tf':
    INP_SHAPE = (224, 224, 3)  # 3 - Number of RGB Colours
    img_input = Input(shape=INP_SHAPE)
    CONCAT_AXIS = 3

输入数据的形状是根据与 Keras 库一起使用的后端来决定的。我想知道为什么这种区分是必要的?为什么我们不能在这两种情况下使用相同的输入形状?

Kerastensorflowtheano 的高级深度学习 API。它使用这些库中的函数来执行计算。在 Theano - 它的作者决定将通道维度放在空间维度之前。在 Tensorflow - 作者将其作为最后一个维度。这就是您提到的 Keras 差异背后的原因。