使用focal loss不好用,使用crossentropyloss正常
Opened this issue · 5 comments
首先,请确保使用我们的预训练模型inference是正常的
接着,请检查learning rate等参数设置是否正确。我们使用4GPU/0.01lr。
使用你们的模型inference正常,参数设置也正常。就是损失函数使用FocalLoss训练有错误,我将配置文件的loss_cls更改为CrossEntropyLoss训练一切正常。loss_cls=dict(type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0)
。
因为我的系统环境版本问题,直接使用mmdet.ops下面的api会不兼容CUDA Error: no kernel image is available for execution on the device
,相关操作例如nms
DeformConv
FocalLoss
我都替换为了mmcv.ops下面的接口。我仔细检查了相关的接口调用与配置,应该没问题,不知道踩到了什么坑。
Focal loss的计算不一样,老版本的是按照num_cls=16算的,新版本的num_cls=15,你可以编译老版本的focal_loss,或者使用新版本的话,anchor_target你要修改部分代码,就是生成anchor的label部分
Focal loss的计算不一样,老版本的是按照num_cls=16算的,新版本的num_cls=15,你可以编译老版本的focal_loss,或者使用新版本的话,anchor_target你要修改部分代码,就是生成anchor的label部分
你好,您有尝试过使用Focal loss中的python版本[py_sigmoid_focal_loss]在这个框架中训练吗?为什么使用这个python版本的focal loss训练会直接报错呢。
Focal loss的计算不一样,老版本的是按照num_cls=16算的,新版本的num_cls=15,你可以编译老版本的focal_loss,或者使用新版本的话,anchor_target你要修改部分代码,就是生成anchor的label部分
你好,您有尝试过使用Focal loss中的python版本[py_sigmoid_focal_loss]在这个框架中训练吗?为什么使用这个python版本的focal loss训练会直接报错呢。
如果你直接用py_sigmoid_focal_loss训练出错的话,很有可能就是你得mmd版本的问题,或者你可以把你的联系方式通过邮箱发给我,交流一下