根据以下代码片段来自这个仓库
# 定义图像输入层if DIM_ORDERING == 'th': INP_SHAPE = (3, 224, 224) # 3 - RGB颜色数量 img_input = Input(shape=INP_SHAPE) CONCAT_AXIS = 1elif DIM_ORDERING == 'tf': INP_SHAPE = (224, 224, 3) # 3 - RGB颜色数量 img_input = Input(shape=INP_SHAPE) CONCAT_AXIS = 3
输入数据的形状是根据要使用的Keras库的后端来决定的。我想知道为什么这种区别是必要的?为什么我们不能在两种情况下使用相同的输入形状?
回答:
Keras
是一个高级深度学习API,适用于tensorflow
和theano
。它使用这些库中的函数来执行计算。在Theano
中,其作者决定将通道维度放在空间维度之前。在Tensorflow
中,作者将其作为最后一个维度。这就是你在Keras
中提到的区别的原因。