Caffe Vision 层 - 卷积层 ConvLayer
Caffe 的视觉层一般采用 images 作为输入,输出另一种 images. 也可以是其它类型的数据和维度.
images 可以是单通道 (1 channel) 的灰度图,也可以是三通道(3 channel) 的 RGB 彩色图片.
视觉层一般是对输入 images 的特定区域进行特定处理,得到特定区域对应的输出区域,如 Convolution Layer, Pooling Layer, Spatial Pyramid Pooling (SPP), Crop, Deconvolution Layer, Im2Col 等.
卷积层 Conv Layer
Conv 层采用一组待学习的 filters 对输入图片进行卷积操作,每一个 filter 输出一个 feature map.
Caffe 提供了 Conv 层的 CPU 和 GPU 实现:
- 头文件 -
./include/caffe/layers/conv_layer.hpp
- CPU 实现 -
./src/caffe/layers/conv_layer.cpp
- CUDA GPU 实现 -
./src/caffe/layers/conv_layer.cu
其输入输出 data 的维度分别为:
Input - N×Ci×Hi×Wi N × C i × H i × W i
Output - N×Co×Ho×Wo N × C o × H o × W o
其中,
Ho=