Caffe 中loss计算过程

Caffe 中loss计算过程
Caffe中由solver统筹排列网络,由solver::forward()函数逐层进行前向传播(通过调用各个layer的forward()函数)计算,并计算整个网络的loss值。
(1)Solver::setlossweights()函数 根据各层layer的参数设置各层的loss标志,例:当layer参数中设置loss_weight = 1时,该层的loss 标志为1(若一个网络同时含有多个loss layer时,则各个loss layer的loss_weight 总和为1)。并将该层的diff(所有元素)设置为loss_weight;
(2)最后在solver::forward()函数中根据layer的loss 标志是否为1 来进行叠加计算各层loss, 得到网络总的loss值:
loss +=caffe_cpu_dot{ top[loss]->cpu_data(), top[loss]->cpu_diff()}。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值