【深度学习】caffe 中的一些参数介绍

原创 2016年05月30日 14:33:42

caffe 参数介绍


solver.prototxt

net: "models/bvlc_alexnet/train_val.prototxt" 
test_iter: 1000       # 
test_interval: 1000   # 
base_lr: 0.01         # 开始的学习率
lr_policy: "step"     # 学习率的drop是以gamma在每一次迭代中
gamma: 0.1
stepsize: 100000      # 每stepsize的迭代降低学习率:乘以gamma
display: 20           # 没display次打印显示loss
max_iter: 450000      # train 最大迭代max_iter 
momentum: 0.9         #
weight_decay: 0.0005  #
snapshot: 10000       # 没迭代snapshot次,保存一次快照
snapshot_prefix:   "models/bvlc_reference_caffenet/caffenet_train"
solver_mode: GPU      # 使用的模式是GPU 
  • test_iter
    在测试的时候,需要迭代的次数,即test_iter* batchsize(测试集的)=测试集的大小,测试集的 batchsize可以在prototx文件里设置。

  • test_interval
    训练的时候,每迭代test_interval次就进行一次测试。

  • momentum
    灵感来自于牛顿第一定律,基本思路是为寻优加入了“惯性”的影响,这样一来,当误差曲面中存在平坦区的时候,SGD可以更快的速度学习。

    wimwiηEwi

train_val.prototxt

layer { # 数据层
    name: "data"
    type: "Data"
    top: "data"
    top: "label"
    include {
        phase: TRAIN # 表明这是在训练阶段才包括进去
    }
    transform_param { # 对数据进行预处理
        mirror: true # 是否做镜像
        crop_size: 227
        # 减去均值文件
        mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"
    }
    data_param { # 设定数据的来源
        source: "examples/imagenet/ilsvrc12_train_lmdb"
        batch_size: 256
        backend: LMDB
    }
}
layer {
    name: "data"
    type: "Data"
    top: "data"
    top: "label"
    include {
        phase: TEST # 测试阶段
    }
    transform_param {
        mirror: false # 是否做镜像
        crop_size: 227
        # 减去均值文件
        mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"
    }
    data_param {
        source: "examples/imagenet/ilsvrc12_val_lmdb"
        batch_size: 50
        backend: LMDB
    }
}
  • lr_mult
    学习率,但是最终的学习率需要乘以 solver.prototxt 配置文件中的 base_lr .

    如果有两个 lr_mult, 则第一个表示 weight 的学习率,第二个表示 bias 的学习率
    一般 bias 的学习率是 weight 学习率的2倍’

  • decay_mult
    权值衰减,为了避免模型的over-fitting,需要对cost function加入规范项。

    wiwiηEwiηλwi

  • num_output
    卷积核(filter)的个数

  • kernel_size
    卷积核的大小。

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

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

  • pad
    扩充边缘,默认为0,不扩充。

    扩充的时候是左右、上下对称的,比如卷积核的大小为5*5,那么pad设置为2,则四个边缘都扩充2个像素,即宽度和高度都扩充了4个像素,这样卷积运算之后的特征图就不会变小。
    也可以通过pad_h和pad_w来分别设定。

  • weight_filler
    权值初始化。 默认为“constant”,值全为0.
    很多时候我们用”xavier”算法来进行初始化,也可以设置为”gaussian”

weight_filler {
    type: "gaussian"
    std: 0.01
}
  • bias_filler

偏置项的初始化。一般设置为”constant”, 值全为0。

bias_filler {
    type: "constant"
    value: 0
}
  • bias_term

    是否开启偏置项,默认为true, 开启

  • group
    分组,默认为1组。如果大于1,我们限制卷积的连接操作在一个子集内。
    卷积分组可以减少网络的参数,至于是否还有其他的作用就不清楚了。

    每个input是需要和每一个kernel都进行连接的,但是由于分组的原因其只是与部分的kernel进行连接的
    如: 我们根据图像的通道来分组,那么第i个输出分组只能与第i个输入分组进行连接。

  • pool
    池化方法,默认为MAX。目前可用的方法有 MAX, AVE, 或 STOCHASTIC

  • dropout_ratio
    丢弃数据的概率

版权声明:如需转载,请附上本文链接。作者主页:http://blog.csdn.net/cyh_24

caffe参数详解

solver.prototxt net:训练预测的网络描述文件,train_test.prototxt   test_iter:在测试的时候,需要迭代的次数,即test_iter* batchsi...
  • qq_14845119
  • qq_14845119
  • 2017年02月08日 17:13
  • 4346

caffe 下一些参数的设置

weight_decay,lr_mult,decay_mult,use_global_stats
  • LIYUAN123ZHOUHUI
  • LIYUAN123ZHOUHUI
  • 2017年07月05日 16:25
  • 530

caffe中参数设置的解析

lenet_solver.prototxt: net: "examples/mnist/lenet_train_test.prototxt" test_iter: 100 test_interval:...
  • u013989576
  • u013989576
  • 2017年04月27日 17:30
  • 1481

caffe 实战系列:proto文件格式以及含义解析:如何定义网络,如何设置网络参数(以AlexNet为例) 2016.3.30

caffe 层的定义以及参数的设置
  • xizero00
  • xizero00
  • 2016年03月30日 11:52
  • 5864

caffe入门教程

(一)简介 1.caffe是一个清晰而高效的深度学习框架,纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口,可以在CPU和GPU直接无缝切换; 2.caffe的主要优势: (1)...
  • dream_catcher_10
  • dream_catcher_10
  • 2015年09月02日 11:14
  • 26290

caffe 实例笔记 2 LeNet详细解读及实现

1 温习 1.1 关于caffe的名称: caffe = convolutional architecture for fast feature embedding 1.2 caffe...
  • bea_tree
  • bea_tree
  • 2016年06月19日 20:21
  • 7615

caffe模型参数的一些解释

作者:wjmishuai出处: http://blog.csdn.net/wjmishuai/article/details/50854155声明:版权所有,转载请联系作者并注明出处 原始数据是28*...
  • wjmishuai
  • wjmishuai
  • 2016年03月14日 21:48
  • 6061

Caffe学习:Layers

Caffe学习:Layers
  • u011762313
  • u011762313
  • 2015年08月09日 22:13
  • 24956

caffe中的solver.protxt的test_iter以及test_interval的区别

在读完http://www.cnblogs.com/denny402/p/5074049.html这个博客之后,又有了新的感悟: test_iter: 100 这个要与test...
  • mdjxy63
  • mdjxy63
  • 2017年07月17日 14:10
  • 539

caffe参数理解

solver.prototxt net: "vggface_mycmd/vggface_train_test.prototxt" test_iter: 365 test_interval: ...
  • sudakuang
  • sudakuang
  • 2016年09月07日 20:10
  • 2858
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【深度学习】caffe 中的一些参数介绍
举报原因:
原因补充:

(最多只允许输入30个字)