caffe 网络参数设置
weight_decay防止过拟合的参数,使用方式:
样本越多,该值越小
模型参数越多,该值越大
一般建议值:
weight_decay: 0.0005
lr_mult, decay_mult
关于偏置与参数使用不同的学习率与权重衰减项:
偏置的学习率一般为参数的两倍
比如一个卷积,有偏置的话,其学习率应该是
param { lr_mult: } param { lr_mult: } 偏置设为2倍,能够加速收敛 对于偏置,其衰减项一般设置为0,还是对应上面的卷积:
param { lr_mult:
decay_mult: }
param { lr_mult:
decay_mult:}
批处理,批处理中需要加上3个0,即批处理的参数是根据上一批的数据进行滑动平均来更新,而不是根据梯度来更新:
param { lr_mult:
decay_mult:}
param { lr_mult:
decay_mult:}
param { lr_mult:
decay_mult:}
还有参数:use_global_stats
在训练时要设置为false,代表需要批处理的均值方差要参考全局信息来更新
在测试时,要为true,代表不使用自己均值方差和全局的均值方差来得到批处理的均值和方差,而是使用全局均值方差,即训练好的均值方差
另一个参数:moving_average_fraction
代表参考训练时均值方差更新的速度,默认是0.,参考值是0.~.999之间
最后一个参数eps:
防止批处理时除以0,默认值是1e-
caffe 下与loss相关的一些说明:
train loss 不断下降,test loss 不断下降,说明网络正在学习
train loss 不断下降,test loss 趋于不变,说明网络过拟合
train loss 趋于不变,test loss 趋于不变,说明学习遇到瓶颈,需要减小学习率或者批处理大小
train loss 趋于不变,test loss 不断下降,说明数据集100%有问题
train loss 不断上升,test loss 不断上升(最终变为NaN),可能是网络结构设计不当,训练超参数设置不当,程序bug等某个问题引起
train loss 不断上下跳动,可能引起的原因:学习率过大,或者批处理大小太小
参考:http://blog.csdn.net/LIYUAN123ZHOUHUI/article/details/74453980
如果想让某些层以上的参数不更新,可以设置某个conv层中:propagate_down : ;但是本层会更新权重,
比如说data->conv2-conv2->conv3->conv4, 在conv4层设置参数propagate_down : ,则只权重只更新到conv4, conv3, conv2, conv1将都不会更新了,这个常常在finetune中有用到。
具体参考:https://blog.csdn.net/wangkun1340378/article/details/78422926
持续更新中..........
caffe 网络参数设置的更多相关文章
- Linux的网络参数设置
前面讲解了lLinux 的IP组成,下面就讲一下Linux的网络设置和数据传递. 其实这地方对运维的人员来说,不会要精通,但还是要了解.必要时刻还会用到的 电脑之间数据的传递: 数据的传递要分为下面几 ...
- Linux网络参数设置
1.ifconfig 查询.设定网络卡与ip 设置桥接网络 # vi /etc/sysconfig/network-script/ifcfg-br0 DEVICE=br0 ...
- Ubuntu 网络参数设置
修改网络设置 sudo vim /etc/network/interfaces 修改计算机名 sudo vim /etc/hostname sudo vim /etc/hosts
- LINUX系统全部参数 sysctl -a + 网络参数设置
http://blog.lifeibo.com/?p=380 1.sysctl sysctl命令被用于在内核运行时动态地修改内核的运行参数,可用的内核参数在目录/proc/sys中 [root@ser ...
- linux 普通synflood攻击防范网络参数设置
linux如何防SYN攻击 [root@web ~]# netstat -anp |awk '{print $6}'|sort|uniq -c |sort -rn 172 ESTABLISHED 59 ...
- [caffe]网络各层参数设置
数据层 数据层是模型最底层,提供提供数据输入和数据从Blobs转换成别的格式进行保存输出,通常数据预处理(减去均值,放大缩小,裁剪和镜像等)也在这一层设置参数实现. 参数设置: name: 名称 ty ...
- caffe之solver.prototxt文件参数设置
caffe solver参数意义与设置 batchsize:每迭代一次,网络训练图片的数量,例如:如果你的batchsize=256,则你的网络每迭代一次,训练256张图片:则,如果你的总图片张数为1 ...
- Caffe的Solver参数设置
Caffe的solver参数设置 http://caffe.berkeleyvision.org/tutorial/solver.html solver是通过协调前向-反向传播的参数更新来控制参数优化 ...
- Centos环境下手动设置-网络参数配置-网络挨排错顺序-设置网卡为上网模式的设定
Linux中网络参数大致包含以下内容: IP地址 子网掩码 网关 DNS服务器 主机名(默认 localhost) 历来Linux系统中修改这些参数的方式通常有:命令.文件两种.其中通过命令设置可以立 ...
随机推荐
- 学习EF之CodeFirst一
最近将花点时间学习EF相关知识,通过文章来进行一个完整的学习,Code First是由先有代码后生成数据库:将通过一实例来进行学习:我们简单分为三层,其中DataLibrary为EF上下文处理层,Mo ...
- 【Linux】Ctentos下载
百度输入:Download Centos 在百度搜索Download Centos然后进入Centos下载官网 点击上述标记的Download Centos,则会出现如下界面,并且点击"Mo ...
- php抽象类和接口的异同【转】
1. 相同点: (1) 两者都是抽象类,都不能实例化. (2) interface 实现类及 abstract class 的子类都必须要实现已经声明的抽象方法. 2. 不同点: ...
- 一个可变布局列表,有9种布局item大小,每个item可拖拽切换位置
代码地址如下:http://www.demodashi.com/demo/11271.html 一.准备工作 准备一台安卓设备手机,4.4以上版本 本例子实现,一个可变布局列表,有9种布局item大小 ...
- Spring+Hibernate整合
因为整合spring和hibernate所以,需要用到spring里面复写Hibernate的类以有DI和IOC特性 db.sql hibernate_basic数据库 表 person 字段 pid ...
- Java成员变量与局部变量同名
看到成员变量和局部变量同名这个知识点的时候一开始有点懵逼,想了一下其实特别简单. 先来看一个简单的代码. 首先我定义了一个Person类. public class Person { private ...
- ANSI实现动态 sql
/* 包含C头文件 */ #include <stdio.h> #include <stdlib.h> #include <string.h> /* 包含SQLCA ...
- 算法----堆排序(heap sort)
堆排序是利用堆进行排序的高效算法,其能实现O(NlogN)的排序时间复杂度,详细算法分析能够点击堆排序算法时间复杂度分析. 算法实现: 调整堆: void sort::sink(int* a, con ...
- VS创建、安装、调试 windows服务(windows service)
1.创建 windows服务 项目 文件 -> 新建项目 -> 已安装的模板 -> Visual C# -> windows ,在右侧窗口选择"windows 服 ...
- unity, 3dmax制作的morph(blendshape)导入unity中使用注意事项
在实现<乱纪元大冒险>(见:http://www.cnblogs.com/wantnon/p/4857072.html)中由于质子展开失败形成的变形几何体和眼睛.几何体经过一系列形变最后变 ...