深度学习笔记---摆数操做 NCHW和NHWC区别

深度学习中,常常出现摆数的要求;
常常会对数据的不一样格式出现疑惑,这里记录下来;
说到的NHWC或者 NCHW其中每一个表明的含义以下:
N表明数量, C表明channel,H表明高度,W表明宽度。


html

一、NCHW其实表明的是[W H C N], 第一个元素是000,第二个元素是沿着w方向的,即001,这样下去002 003,再接着呢就是沿着H方向,即004 005 006 007…这样到019后,沿C方向,轮到了020,以后021 022 …一直到319,而后再沿N方向。markdown

二、NHWC表明的是[C W H N], 第一个元素是000,第二个沿C方向,即020,040, 060…一直到300,以后沿W方向,001 021 041 061…301…到了303后,沿H方向,即004 024 …304.。最后到了319,变成N方向,320,340…学习

在这里插入图片描述

当在不一样的硬件加速的状况下,选用的类型不一样,在intel GPU加速的状况下,由于GPU对于图像的处理比较多,但愿在访问同一个channel的像素是连续的,通常存储选用NCHW这样在作CNN的时候,在访问内存的时候就是连续的了,比较方便;ui

因此在深度学习的时候,推理的前处理,通常都是将RGB或BGR图像进行转变为NCHW的格式;一般咱们用opencv读取图像是NHWC的格式,须要进行通道分离,由于网路是一个通道一个通道的对图像作卷积,提取feature,因此NCHW更适合CNN。spa

发布了94 篇原创文章 · 获赞 181 · 访问量 34万+
相关文章
相关标签/搜索