Deep Notes

ArcFace Notes

2018-07-23  本文已影响0人  万灵灵万

Framework: Pytorch 0.3.0

关于pytorch 反传计算图一点小心得:

将代码改成

    for i in range(cos_theta.shape[0]):
        j=target[i].data[0]
        if cos_theta[i,j].data[0] >= -self.cosm:
            flagMat[i,j]= 1
        else:
            flagMat[i,j] = 0
    flagMat=Variable(flagMat)
    phi_theta=(self.cosm * cos_theta - self.sinm * torch.sqrt(1e-6+1-cos_theta*cos_theta))*flagMat\
              +(1-flagMat)*cos_theta

新构造指示矩阵flatMat公式1进行运算,且flatMat不参与反传,得到的phi_\theta.grad_fn公式1backward,计算图恢复正常!life will be better!

Reference

上一篇 下一篇

猜你喜欢

热点阅读