卷积神经网络卷积操作问题

def conv2d(self, X, W, b, stride=1, padding=0):
    # X表示输入特征图(样本数(batch size)、通道数、高度、宽度)
    # X表示输入特征图、W表示卷积核、b表示偏向值
    # 这些元素都是张量
    # 计算卷积后的输出大小
    n_H = int((X.shape[2] + 2 * padding - self.kernel_size) / stride + 1) # 竖直方向平移次数
    n_W = int((X.shape[3] + 2 * padding - self.kernel_size) / stride + 1) # 水平方向平移次数
    # 这里的X.shape[1]表示高度(行列式的行),X.shape[2]表示宽度(行列式的列)。
    # 这里以输入尺寸4*4来想象,套用上面的公式,完全符合。

    # 初始化输出,这里初始化一个全为0的卷积特征图。
    Z = np.zeros((self.filters, X.shape[2], n_H, n_W))

在卷积操作中,通常使用(height, width, channels)的维度顺序?为什么?这样导致最高维度是height,感觉反而更麻烦。

额。。。这也无所谓吧 HWC大家都这么做 反正不影响运算。。