(Caffe)卷积的实现

时间:2023-02-07 09:08:41

本文地址:http://blog.csdn.net/mounty_fsc/article/details/51290446

本部分介绍Caffe中卷积的实现。

1 简介

  1. 使用im2col分别将featrue maps 以及卷积核转换成矩阵
  2. 调用GEMM(GEneralized Matrix Multiplication)对两矩阵内积。

(Caffe)卷积的实现

  • 图来自引用论文[1]

2 详细介绍

(Caffe)卷积的实现

(Caffe)卷积的实现

(Caffe)卷积的实现

(Caffe)卷积的实现

(Caffe)卷积的实现

最后,Filter Matrix乘以Feature Matrix的转置,得到输出矩阵Cout x (H x W),就可以解释为输出的三维Blob(Cout x H x W)。

3 作者的说明

在引用[3]中,作者说明了为何这样做卷积。
大致是:优化CNN中的卷积不是一件简单的事。由于时间、成本上的种种原因,作者作用了这样一种temporary、lazy的方案。但是却发现这样一种方案取得的效果还比较好。

[1]. High Performance Convolutional Neural Networks for Document Processing
[2]. https://github.com/Yangqing/caffe/wiki/Convolution-in-Caffe:-a-memo
[3]. https://www.zhihu.com/question/28385679