汇总框架通道顺序
各个框架下Tensor中的通道顺序(知乎
寒彦)
N: batch
C: channel
H: height
W: width
Caffe 的Blob通道顺序是:NCHW
Tensorflow的tensor通道顺序:默认是NHWC, 也支持NCHW,使用cuDNN会更快;
Pytorch中tensor的通道顺序:NCHW
TensorRT中的tensor 通道顺序: NCHW
TensorFlow API 中 NCHW 与 NHWC 的区别(CSDN博主「edward_zcl」)
TensorFlow 为什么选择 NHWC 格式作为默认格式?因为早期开发都是基于 CPU,使用 NHWC 比 NCHW 稍快一些(不难理解,NHWC 局部性更好,cache 利用率高)。
NCHW 则是 Nvidia cuDNN 默认格式,使用 GPU 加速时用 NCHW 格式速度会更快(也有个别情况例外)。
最佳实践:设计网络时充分考虑两种格式,最好能灵活切换,在 GPU 上训练时使用 NCHW 格式,在 CPU 上做预测时使用 NHWC 格式。
NCHW与NHWC数据格式之外之nChw8c(田海立@CSDN)
Intel MKL-DNN里所采用的nChw8c数据格式,这种格式或其变种会在AI加速器(NPU等xPU)里采用,你不一定要记住这种格式,而要学习分析的方法,这样就能应对你所要处理的特定的数据格式了。