Debug Tensorflow: yolo模型检测框位置正确但类别不正确
生活随笔
收集整理的這篇文章主要介紹了
Debug Tensorflow: yolo模型检测框位置正确但类别不正确
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
平臺
- tensorflow
- yolov5
現象
標注框沒問題,但類別不正確
解決
- 首先確保后處理過程沒有問題,nms無誤
- 由于yolo損失函數包含三部分,參考公眾號YueTan。我的猜測是三部分可能沒有平衡好,分類損失權重較小,導致分類沒有訓練充分導致。所以分類損失函數乘以10以后重現訓練,問題解決了。
- 根本原因在于tf.keras.losses.BinaryCrossentropy,計算時默認會把最后一個維度默認平均,即使加上reduction=tf.keras.losses.Reduction.NONE,最后一個維度也會是平均。因此分類損失函數占比較小無法得到較好優化,乘以類別個數,可以解決這個問題
最終解決方法看起來很簡單,只改了一點點
class_loss_all += class_loss * 10
更多內容,歡迎關注我的公眾號YueTan
總結
以上是生活随笔為你收集整理的Debug Tensorflow: yolo模型检测框位置正确但类别不正确的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实现springboot的starter
- 下一篇: spring三种注入方式