极智AI | 谈谈为什么卷积加速更喜欢 NHWC Layout

本文探讨卷积神经网络中,为何NHWC数据布局相比NCHW在加速算法如img2col+gemm和winograd中更具优势。NHWC布局优化了特征图数据的读取过程,减少了数据访问次数,从而提升卷积运算效率,尤其在高维度卷积中效果更为显著。
摘要由CSDN通过智能技术生成

  本文主要讨论一下为什么卷积加速更加喜欢 NHWC 的数据排布。

  我目前接触过的数据排布类型(主要针对卷积)有 NCHW (pytorch、caffe),NHWC (Tensorflow,也是 TVM GPU 和 寒武纪 MLU Core 上更喜欢的 data Layout), CHW (TensorRT里不考虑动态batch的话是把 N 拿出来了,只剩三维),NCHWC0 (华为昇腾 AI Core 的五维 Layout,C0 INT8时为32,FP16时为16)。为什么会有这么多数据类型排布呢,原因可能是源于不同的训练框架,比如 pytorch 和 tensorflow (大部分人的炼丹炉) 就不一样,而在推理时,更多的会考虑硬件 / 推理性能更喜欢什么样的数据类型排布。

  这里主要谈谈对于 img2col+gemmwinograd 卷积加速算法来说,为什么 NHWCNCHW 更合适 (GPU上),也是我个人的理解。

1、img2col+gemm 和 winograd 算法原理

img2col+gemm 的详细原理可以看我的这篇《【模型推理】一文看懂Img2Col卷积加速算法》,就是先把 feature map 按卷积核走过的 “踪迹” 展开、拼接 与 拉扁拉长的卷积核 进行 gemm<

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极智视界

你的支持 是我持续创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值