【发布时间】:2022-11-14 15:15:46
【问题描述】:
我是修改 YOLOv5 的初学者,我想知道如何使用 VarifocalNet 的变焦损失并将其实施到 YOLOv5 (pytorch) 的详细步骤。
我在下面放了一个链接,它是变焦损失的 python 文件
先感谢您
【问题讨论】:
标签: loss-function loss yolov5
我是修改 YOLOv5 的初学者,我想知道如何使用 VarifocalNet 的变焦损失并将其实施到 YOLOv5 (pytorch) 的详细步骤。
我在下面放了一个链接,它是变焦损失的 python 文件
先感谢您
【问题讨论】:
标签: loss-function loss yolov5
https://github.com/hyz-xmaster/VarifocalNet
你会在此处找到构建器文件builder 和utils。然后将这两个文件粘贴到yolov5“utils”中。
pip 安装 mmcv you can find here
在“loss.py”文件中粘贴以下代码Varifocal。 (你可以放在 QFocalLoss 类下面)。
在变焦代码中删除生成器前的一个点 (.)。意思是把from .builder import LOSSES而不是from ..builder import LOSSES(因为我们把生成器文件放在同一个文件夹中)
使用这三行:
用这个 :
g = 2 # focal loss gamma
if g > 0:
BCEcls, BCEobj = VarifocalLoss(BCEcls), VarifocalLoss(BCEobj)
代替 :
g = h['fl_gamma'] # focal loss gamma
if g > 0:
BCEcls, BCEobj = FocalLoss(BCEcls, g), FocalLoss(BCEobj, g)
【讨论】: