首页 > 其他 > 详细

Caffe学习系列(3):视觉层(Vision Layers)及参数

时间:2015-12-23 21:17:10      阅读:181      评论:0      收藏:0      [点我收藏+]

所有的层都具有的参数,如name, type, bottom, top和transform_param请参看我的前一篇文章:Caffe学习系列(2):数据层及参数

本文只讲解视觉层(Vision Layers)的参数,视觉层包括Convolution, Pooling, Local Response Normalization (LRN), im2col等层。

1、Convolution层:

就是卷积层,是卷积神经网络(CNN)的核心层。

层类型:Convolution

lr_mult: 学习率的系数,最终的学习率是这个数乘以solver.prototxt配置文件中的base_lr。如果有两个lr_mult, 则第一个表示权值的学习率,第二个表示偏置项的学习率。一般偏置项的学习率是权值学习率的两倍。

在后面的convolution_param中,我们可以设定卷积层的特有参数。

必须设置的参数:

  num_output: 卷积核的数量

  kernel_size: 卷积核的大小。如果卷积核的长和宽不等,需要用kernel_h和kernel_w分别设定

其它参数:

   stride: 卷积核的步长,默认为1,也可以用stride_h和stride_w来设置。

   pad: 扩充边缘,使得卷积变换之后,图像不变小。默认为0,不扩充。 扩充的时候是左右、上下对称的,比如设置为2,则四个边缘都扩充2个像素,即宽度和高度都扩充了4个像素。也可以通过pad_h和pad_w来分别设定。

    weight_filler: 权值初始化。 默认为“constant",值全为0,很多时候我们用"xavier"算法来进行初始化,也可以设置为”gaussian"
    bias_filler: 偏置项的初始化。一般设置为"constant",值全为0。
    bias_term: 是否开启偏置项,默认为true, 开启
    group: 分组,默认为1组。如果大于1,我们限制卷积的连接操作在一个子集内。如果我们根据图像的通道来分组,那么第i个输出分组只能与第i个输入分组进行连接。
示例:
layer {
  name: "conv1"
  type: "Convolution"
  bottom: "data"
  top: "conv1"
  param {
    lr_mult: 1
  }
  param {
    lr_mult: 2
  }
  convolution_param {
    num_output: 20
    kernel_size: 5
    stride: 1
    weight_filler {
      type: "xavier"
    }
    bias_filler {
      type: "constant"
    }
  }
}
  
   
 

Caffe学习系列(3):视觉层(Vision Layers)及参数

原文:http://www.cnblogs.com/denny402/p/5071126.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!