1:0}HW4),写成NC4HW4方便阅读.
什么是NC4HW4?
对于卷积操作, 根据计算机内存排布特点, 按行进行处理.处理完一个通道的数据, 转入下一个通道继续按行处理....那么有没有方法在按行处理的思想上, 一次处理4个数,而不受影响.答案是有的, 即NC4HW4.即把前4个通道合并在一个通道上, 依次类推, 在通道数不够4的情况下进行补0....经过NC4HW4重排后的Tensor在内存中的排布情况如下:
经过NC4HW4重排后的Tensor在内存中的排布示意图
那么, 此时在进行单次指令处理4组数据的处理,就没有问题了.只不过处理结果也是NC4HW4...结构的,需要在结果输出加上NC4HW4转nchw....使用指令集加速卷积,可以直接计算
NC4HW4中使用im2col+gemm实现卷积:
im2col+gemm在深度学习中是最常用的对卷积进行加速计算的方案。最早在caffe框架中支持。