im2col是将一个[C,H,W]矩阵变成一个[H,W]矩阵的一个方法,其原理是利用了行列式进行等价转换。
im2col原本是matlab中的一个 *** 作
在Pytorch中可以用torch.unfold, torch.cat和torch.transpose的组合实现im2col *** 作.
im2col:将卷积运算转为矩阵相乘
将卷积运算转化为矩阵乘法,从乘法和加法的运算次数上看,两者没什么差别,但是转化成矩阵后,运算时需要的数据被存在连续的内存上,这样访问速度大大提升(cache),同时,矩阵乘法有很多库提供了高效的实现方法,像BLAS、MKL等,转化成矩阵运算后可以通过这些库进行加速。
缺点呢?这是一种空间换时间的方法,消耗了更多的内存——转化的过程中数据被冗余存储
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)