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()

每次看論文的時候都會懷疑論文是不是造假了,有時候想想自己會因爲各種小原因而復現不了代碼,真的覺得自己是個弟弟

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章