caffe学习

举报
技术火炬手 发表于 2019/02/18 09:28:35 2019/02/18
【摘要】 caffe学习。

训练图片1075张,测试图片360

参数设置

net: "./image_train_val.prototxt"test_iter: 271test_interval: 100base_lr: 0.01display: 20max_iter: 25000lr_policy: "step"gamma: 0.1momentum: 0.9weight_decay: 0.0005power: 0.75stepsize: 100snapshot: 5000snapshot_prefix: "snapshot"solver_type: SGD
solver_mode: GPU


net:  网络模型(训练网络模型、测试网络模型)

test_iter:表示网络的测试迭代次数。网络一次迭代将一个batchSize的图片进行测试,所以为了能将validation集中所有图片都测试一次。这个参数乘以TEST的batchSize应该等于validation集中图片总数量。即test_iter*batchSize=测试图片总数。

test_interval:测试间隔,表示网络迭代(训练即train)多少次进行一次测试。一次迭代即一个batchSize的图片通过网络正向传播和反向传播的整个过程。比如这里设置的是224,即网络每迭代224次即对网络的准确率进行一次验证。一般来说,我们需要将训练集中所有图片都跑一遍,再对网络的准确率进行测试,整个参数乘以网络data层(TRAIN)中batchSize参数应该等于训练集中图片总数量的倍数。即test_interval*batchSize=n*train_num(训练图片总数,n为正整数)。

base_lr:表示网络的基础学习率。学习率过高可能导致loss持续86.33333,也可能导致loss无法收敛等等问题。过低的学习率会使网络收敛慢,也有可能导致梯度损失。一般我们设置为0.01。

display: 每多少次显示一次。

max_iter: 网络的最大迭代次数。训练集中的图片当然不能只训练一次就算了,要反复多次的进行训练,所以这个参数应该要大一些。(与snapshot. test_iter. test_interval有关)

lr_policy: 学习率变化规律。

gamma: gamma是lr的衰减系数(学习率变化指数)。一般不改。

momentum: 动量,学习的参数。一般不改。

weight_decay: 权重衰减,学习的参数。一般不改。

stepsize: stepsize是lr的衰减步长(学习率变化频率),每多少次学习率递减。这里是迭代100次学习率递减。  

snapshot: 每多少次保存一次学习的结果。即caffemodel。(snapshot = test_interval * n, snapshot * m = max_iter. m,n均为正整数)

solver_mode: 设置使用GPU还是CPU进行学习训练。

solver_type: 优化算法的选择,一共有六种可选:SGD、AdaDelta、AdaGrad、Adam、Nesterov和RMSProp。默认为SGD。

--------------------------------------------------

本文转自运维小成博客51CTO博客

如需转载,请联系作者

原文链接:http://blog.51cto.com/6764097/2064155

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。