我正在阅读caffe的Layer源代码,但我有以下问题:
Layer::SetLossWeights
函数在做什么?我知道在Layer类中,有一个loss_
变量,其中包含:指示每个顶部斑点是否具有非零权重的向量 在目标函数中。
他们有关系吗?
非常感谢。
答案 0 :(得分:1)
Layer::SetLossWeights
将损失权重分配给loss_
变量和diff blob
,forward
用于计算总损失。有关详细信息,请参阅caffe loss tutorial。
编辑:
Loss weight
只有在输入到另一个执行backprop的层时才会改变,而这个层不是作者想要的。正如他们在pull request中对Accuracy layer
所说的那样,它会破裂。 diff
中loss layer
的目的是存储loss weight
不存储渐变。有关详细信息,请参阅caffe-users group中的此讨论。