永发信息网

caffe训练网络的时候学习率应该怎么设置

答案:1  悬赏:20  手机版
解决时间 2021-11-18 11:31
caffe训练网络的时候学习率应该怎么设置
最佳答案
1、会更新,finetune的过程相当于继续训练,跟直接训练的区别是初始化的时候:
a. 直接训练是按照网络定义指定的方式初始化(如高斯随机初始化)
b. finetune是用你已经有的参数文件来初始化(就是之前训练好的caffemodel)
2、嗯,这个问题有两种情况:比如有4个全连接层A->B->C->D
a. 你希望C层的参数不会改变,C前面的AB层的参数也不会改变,这种情况也就是D层的梯度不往前反向传播到D层的输入blob(也就是C层的输出blob 没有得到梯度),你可以通过设置D层的propagate_down为false来做到。
propagate_down的数量与输入blob的数量相同,假如你某个层有2个输入blob,那么你应该在该layer的Param里面写上两行:
propagate_down : 0 # 第1个输入blob不会得到反向传播的梯度
propagate_down : 0 # 第2个输入blob不会得到反向传播的梯度
这样的话,你这个layer的梯度就不会反向传播啦,前面的所有layer的参数也就不会改变了
b. 你希望C层的参数不会改变,但是C前面的AB层的参数会改变,这种情况,只是固定了C层的参数,C层得到的梯度依然会反向传播给前面的B层。只需要将对应的参数blob的学习率调整为0:
你在layer里面加上param { lr_mult: 0 }就可以了,比如全连接层里面:
layer {
type: "InnerProduct"
param { # 对应第1个参数blob的配置,也就是全连接层的参数矩阵的配置
lr_mult: 0 # 学习率为0,其他参数可以看caffe.proto里面的ParamSpec这个类型
}
param { # 对应第2个参数blob的配置,也就是全连接层的偏置项的配置
lr_mult: 0 # 学习率为0
}
}
不知道这样说你能不能理解
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
建筑电气安装工程中什么叫跨接地线
远兴鸿全自动抛光机主电机功率和机体尺寸是多
6S管理适用于什么样的工厂
关于杜甫
怎样对付一个爱撒谎的男人
考研数据结构算法设计题
登山的登字的偏旁是什么名称
一公斤22.5元,160克多少钱?
刷深渊得的史诗碎片怎么找不到在哪里换史诗
敦煌机场离敦煌市有多远
关联词大全
屏幕刷新率是60赫兹对眼睛好还是75赫兹好
为什么有的知道你有钱就问你借钱,也不管你们
中兴为什么被美国叫停
各位网线被剪怎么办
推荐资讯
请问中国哪个朝代不允许百姓用刀
陈大惠的讲座(传统文化论坛)让很多人想抛家
久久教育(龙池大道)地址在什么地方,想过去办
神家给人看事烧13根香是什么意思
地龙的毒性
玩高达模型到底是买金牌剪还是入门版神之手,
一条网线可不可以联二个机顶合子
1988年的五星茅台大概多少钱呢?
20乘7时想2个什么乘7是14个什么也就是什么
RIP和OSPF协议的管理距离和度量值有哪些?
什么是荧光染色布
中国红牛为什么改商标
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?