构建caffe模型的时候,我们需要将模型框架写成一个protocol buffer的定义文件(prototxt) 。caffe中的层以及层的参数都被定义在文件caffe.proto中。
数据层
我们可以用很多种格式来对数据进行输出(LMDB,HDF5,LevelDB,原始数据等)。
通过某些层指定TransformationParameters,可以使用常见的输入预处理(平均减法,缩放,随机裁剪和镜像)。当TransformationParameter不可用时,偏差,比例和裁剪图层可以有助于转换输入。
- LMDB & LevelDB :【caffe】Layer解读之:Date
视觉层
视觉层通常将图像作为输入并产生其他图像作为输出,尽管它们可以获取其他类型和尺寸的数据。现实世界中的典型“图像”可以具有一个颜色通道(channel = 1),如灰度图像,或三个颜色通道(channel = 3),如RGB(红色,绿色,蓝色) 图片。特别地,大多数视觉层通过将特定操作应用于输入的某个区域来工作以产生输出的相应区域。
- 卷积层:使用一组可学习的滤波器对输入图像进行卷积,每个滤波器在输出图像中生成一个特征映射。
【caffe】Layer解读之:Convolution
工具类实用层
【caffe】Layer解读之:Flatten
【caffe】Layer解读之:Reshape
【caffe】Layer解读之:Split
【caffe】Layer解读之:Concat
【caffe】Layer解读之:Slice
【caffe】Layer解读之:Eltwise
【caffe】Layer解读之:Reduction
【caffe】Layer解读之:Slience
Loss层
归一化层
【caffe】Layer解读之:BatchNorm/Scale
未完待续。。。。。。