【发布时间】:2016-10-11 12:21:00
【问题描述】:
尝试使用 python 层、caffe 实现我的自定义损失层。我以example 为指导,编写了forward 函数如下:
def forward(self,bottom,top):
score = 0;
self.mult[...] = np.multiply(bottom[0].data,bottom[1].data)
self.multAndsqrt[...] = np.sqrt(self.mult)
top[0].data[...] = -math.log(np.sum(self.multAndsqrt))
然而,第二个任务,即实现backward 函数对我来说有点困难,因为我完全不熟悉python。所以请帮我编写后向部分的代码。
这是要实现的随机梯度体面的成本函数及其导数:
注意表中的p[i]表示ith输出神经元值。
【问题讨论】:
-
你的层中
p和g是什么?bottom[0]是p和bottom[1]是g?你传播回p和g,还是只传播到其中一个? -
是的,正确,我传播回p。
-
@Shai 你能帮我完成这个实现吗?
标签: python python-2.7 caffe pycaffe