sphereface loss不收敛分析

1:lr 从1e-2 ~ 1e-5
2:weight_decay = 1e-2 ~ 1e-4 没有作用
3:怕是sphereface出了问题,把最后一层的fc层,改成了原有的Linear,结果还是不好。最后改了loss (cross_entorpy)函数还是不对
4:考虑resnet101的预训练模型不对,发现确实是原有模型
5:考虑加载数据问题,将原来的初始大小由299改为了200
6:换了resnet50,没有任何改善
7:图像开始预处理选择的是mean和std,考虑resnet和inception 的区别确实是这样的。
8:查看标签与图片匹配的真的对吗

找点思路:偶然发现pred一般都是6 或者8 ,这有什么偶然吗?
看了半天发现loss.backward(), optimizer_bone.zero_grad()写反了,但是好像也没影响。
pass上面九个猜想,终于找到了原因:
optimizer.step()没加,这样的话,需要总结一下一下三行代码的意思了:

optimizer.zero_grad().
loss.backward()
optimizer.step()

每次看论文的时候都会怀疑论文是不是造假了,有时候想想自己会因为各种小原因而复现不了代码,真的觉得自己是个弟弟

你可能感兴趣的:(Face,Recognition)