转载:https://juejin.cn/post/7068113084451127333
文章目录
简介
img2col 是一种实现卷积操作的加速计算策略。它能将卷积操作转化为 GEMM,从而最大化地缩短卷积计算的时间。
GEMM 是通用矩阵乘 (General Matrix Multiply) 的英文缩写,其实就是一般意义上的矩阵乘法,数学表达就是 C = A x B。根据上下文语境,GEMM 有时也指实现矩阵乘法的函数接口。
为什么要将卷积操作转化为 GEMM 呢?
-
因为线性代数领域已经有非常成熟的计算接口(BLAS,Fortran 语言实现)来高效地实现大型的矩阵乘法,几乎可以做到极限优化。
-
将卷积过程中用到的所有特征子矩阵整合成一个大型矩阵存放在连续的内存中,虽然增加了存储成本,但是减少了内存访问的次数,从而缩短了计算时间。
原理
img2col 的原理可以用下面这一张图来概括: