Caffe
是一个深度学习框架
,
具有表达力强、
速度快和模块化的思想
,
由伯克利视觉学习中心
(BVLC)
和社区贡献者开发。网站
http://caffe.berkeleyvision.org/
Caffe
框架使用
XML
接口来描述特定
CNN
卷积神经网络所需的不同处理层。
通过实施层的不同
组合,用户能够根据其给定的需求快速创建新的网络拓扑。
Caffe
框架最常用的处理层主要有:
卷积层:卷积层将输入图像与一组可学习的滤波器进行卷积,每个滤波器在输出中产生一
个特征图
池化层:
池化最大可以将输入图像分割成一组非重叠的矩形,
并且对于每个这样的子区域,
输出最大值
线性修正(
ReLU
)层:给定输入值
x
,如果
x> 0
,则
ReLU
层将计算输出为
x
,如果
x <=
0
则计算输出为
negative_slope * x
。
IP/FC
层:将图像视为单个向量,每个点对新输出向量的每个点有贡献
通过将这
4
层移植到
FPGA
,
绝大多数正向处理网络可以使用
Caffe
框架在
FPGA
上实
现。要访问加速卡上的
FPGA
版本的代码,用户只需要更改
Caffe XML
网络描述文件
中的
CNN -
卷积神经网络层的描述,这等同于修改
FPGA
代码版本。