NCHW中,“N”batch批量大小,“C”channels特征图通道数,“H”特征图的高,和“W”特征图的宽。
其中N表示这批图像有几张,H表示图像在竖直方向有多少像素,W表示水平方向像素数,C表示通道数(例如黑白图像的通道数C=1,而RGB彩色图像的通道数C=3)。为了便于演示,我们后面作图均使用RGB三通道图像。
虽然我们人可以的将数据按照任意维度进行划分,然而对于计算机而言,数据的存储只能是线性的。
NCHW是先取W方向数据;然后H方向;再C方向;最后N方向。NHWC则是先取C方向数据;然后W方向;再H方向;最后N方向。尽管数据的排列方式不一样,但存储的数据是一样的,因此不同框架下数据的计算结果也是相同的。值得注意的是,数据的不同排布方式会导致数据访问特性不一致,因此即使输入输出相同,但过程的性能会存在区别。