Faster RCNN loss_rpn_box_reg = nan分析

首先整體架構使用的是torchvision0.3版本自帶的模塊。所以找問題都是從自己寫的代碼開始。

自己架構是否有問題:
固定一下optimizer = torch.optim.SGD(model.parameters(), lr = lr, momentum=0.9, weight_decay=1e-2)

1:圖像處理根據官方給的手冊歸一化到了[0, 1]之間應該沒問題,

2:標籤問題target對應的標籤信息確實對應的是bottle -->39,這也不是造成nan 的原因,通過測試程序發現不是

3:對於一張圖片只有一個目標框的情況,發現IOU>0.7的目標框只有幾個,剩下的基本上是由負文本框填充湊足256個,然後做迴歸loss,然而,這些也不是造成loss = nan 的原因, 因爲當正樣本達到一半的時候其實這時候對應的loss也會得到nan

4:數據問題:
5:不用shuffle 單個分析,看看是否是數據問題,看看是第幾個出現的nan,如果把這個調換到第一個loss還會爲loss嗎
出來的第一個是loss = nan的結果是0000050.jpg,將0000050.jpg作爲圖片輸出發現一開始就得到了nan 發現了一部分問題了,跟蹤發現其實在target對應回回歸值出現的nan,迴歸值中其實中心座標點也不會出現nan的情況,出現nan的情況是對應的w,h對應的比例係數,這種是最容易出現問題的,最終找到問題,標註信息給錯了,有的對應的xmin > xmax, ymin > ymax。

關鍵點:爲什麼只有 loss_rpn_box_reg = nan 而其他的都沒有問題?

針對這個問題做出具體應對措施:

1:查看faster rcnn論文,仔細查看rpn loss 管理的是哪一塊。

2:百度查出爲什麼會出現迴歸損失出現nan

3:

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