Caffe学习(3)——caffe中的视觉层及对应参数
来源:互联网 发布:电脑发短信软件 编辑:程序博客网 时间:2024/03/29 21:34
Caffe的运行,首先要基于一个模型(model),比较常用的模型有Lenet、AlexNet、VGG等;一个模型有多个层构成,层有许多种类型,比如数据层(Data Layers)、视觉层(Vision Layers)、激活层(Activation Layers)等,每层对应着许多参数,这些参数都定义在caffe.proto这个配置文件中。
数据层及其参数的介绍在前一篇文章caffe中的数据层及对应参数进行讨论。
接下来,我们来讨论一下视觉层(Vision Layers)及其参数。
视觉层包括Convolution、Pooling、Local Response Normalization(LRN)等。下面进行详细介绍。
(1)Convolution(卷积层)
卷积层是卷积神经网络(CNN)的核心层。下面以示例作为说明:
layer { name: "conv1"//层名称 type: "Convolution"//层类型 bottom: "data"//输入数据 top: "conv1"//输出数据 param {//参数 lr_mult: 1//学习率系数,最终的学习率 = 该数 * solver.prototxt配置文件中的base_lr } param { lr_mult: 2 } convolution_param {//在这里面设定卷积层的特有参数 num_output: 20//卷积核(filter)的个数 kernel_size: 5//卷积核的大小。如果卷积核的长和宽不相等,则需用kernel_h和kernel_w分别进行设定 stride: 1//卷积核的步长,一般默认为1. weight_filler {//权值初始化 type: "xavier" } bias_filler {//偏置顶初始化 type: "constant" } }}注:1)如果有两个lr_mult,则第一个表示权值学习率,第二个表示偏置顶的学习率;一般来说,偏置顶的学习率是权值学习率的两倍。
2)num_output和kernel_size这两个参数是必须设置的。
输入:n * c0 * w0 * h0
输出:n * c1 * w1 * h1
其中,c 1 就是参数中的num_output,生成的特征图个数
w 1 =(w 0 +2*padkernel_size)/stride+1;
h 1 =(h 0 +2*padkernel_size)/stride+1;
如果设置stride为1,前后两次卷积部分存在重叠。如果设置pad=(kernel_size1)/2,则运算后,宽度和高度不变。
(2)Pooling(池化层)
Pooling是为了减少运算量和数据维度而设置的一种层。下面以示例作为说明:
layer { name: "pool1" type: "Pooling" bottom: "conv1" top: "pool1" pooling_param { pool: MAX//池化方法,默认为MAX,目前可用的方法有MAX、AVE或STOCHASTIC kernel_size: 3//池化的核大小,也可以用kernel_h和kernel_w来设定 stride: 2//池化的步长,默认为1;一般我们设置为2,即不重叠 }}
输入:n * c * w0 * h0
输出:n * c * w1 * h1
和卷积层的区别就是其中的c保持不变,
w 1 =(w 0 +2*pad-kernel_size)/stride+1;
h 1 =(h 0 +2*pad-kernel_size)/stride+1;
如果设置stride为2,前后两次卷积部分不重叠。100*100的特征池化后,变成50*50。
(3)Local Response Normalization(LRN)层
LRN层是对输入的局部区域进行归一化,达到“侧抑制”的效果。
layers{ name: "norm1" type: LRN bottom: "pool1" top: "norm1" lrn_param { local_size: 5//默认为5;如果是跨通道LRN,则表示求和的通道数,如果是在通道内LRN,则表示求和的正方形区域长度。 alpha: 0.0001//归一化公式中的参数 beta: 0.75//归一化公式中的参数 }}补充:归一化公式:对于每一个输入,去除以,得到归一化后的输出。
- Caffe学习(3)——caffe中的视觉层及对应参数
- Caffe学习(2)——caffe中的数据层及对应参数
- Caffe学习(4)——caffe中的激活层及对应参数
- Caffe学习系列(3):视觉层(Vision Layers)及参数
- Caffe学习系列(3):视觉层(Vision Layers)及参数
- Caffe学习系列(3):视觉层(Vision Layers)及参数
- Caffe学习系列(3):视觉层(Vision Layers)及参数
- Caffe学习系列(3):视觉层(Vision Layers)及参数
- Caffe学习系列(3):视觉层(Vision Layers)及参数
- Caffe学习系列(3):视觉层(Vision Layers)及参数
- caffe学习系列(3):视觉层(Vision Layers)及参数
- Caffe学习系列(3):视觉层(Vision Layers)及参数
- Caffe学习系列(3):视觉层(Vision Layers)及参数
- Caffe 学习笔记(视觉层(Vision Layers)及参数)
- caffe学习(三):caffe视觉层参数
- caffe学习系列二视觉层及参数
- caffe基础(2):视觉层及参数
- caffe学习笔记3:视觉层及其参数
- hdu1040 As Easy As A+B(堆排序)
- Java基础学习(六)
- ffplay的简化版,用于分析ffplay主要流程
- 浅谈servlet相关技术
- BZOJ 1878: [SDOI2009]HH的项链 树状数组 离线维护
- Caffe学习(3)——caffe中的视觉层及对应参数
- [BZOJ3991][SDOI2015]寻宝游戏(dfs序+lca+set)
- 最简洁完整的Java高级教程之二(数据结构、集合、网络编程、多线程)
- Linux Kernel input设备之handler
- C C++的整数溢出陷阱
- Django1-10-5管理界面中文设置
- 牛客--剑指offer--最小的k个数
- Proteus仿真AT89C52——IO
- 欢迎使用CSDN-markdown编辑器