1 深度学习中的多维数据存储方式NCHW和NHWC区别和简单介绍
在深度学习框架中,多维数据通过多维数组存储,比如卷积神经网络的特征图(Feature Map)通常使用四维数组保存,其数据维度为4D。其中4D中的N、H、W、C的各自意义如下:
- N:Batch数量,例如图像的数量;
- H:Height,特征图高度,即垂直高度方向的像素个数;
- W:Width,特征图宽度,即水平宽度方向的像素个数;
- C:Channels,特征图通道,例如彩色RGB图像的Channels为3;
由于数据只能线性存储,因此这四个维度有对应的顺序。
不同深度学习框架会按照不同的顺序存储特征图数据,比如Caffe,排列顺序为[Batch, Channels, Height, Width],即NCHW。TensorFlow中,排列顺序为[Batch, Height, Width, Channels],即NHWC。
以一张格式为RGB的图片为例,NCHW实际存储的是“RRRRRRGGGGGGBBBBBB”,同一通道的所有像素值顺序存储在一起,而NHWC实际存储的则是“RGBRGBRGBRGBRGBRGB”,多个通道的同一位置的像素值顺序存储在一起。
上图中的上半部分的图像描述的是NCHW的数组存储方式,下半部分图像描述的是NHWC的存储方式。
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:深度学习 – 深度学习中的多维数据存储方式NCHW和NHWC
原文链接:https://www.stubbornhuang.com/1999/
发布于:2022年03月07日 16:06:32
修改于:2023年06月26日 20:31:40
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论
52