GFocalV2 icon indicating copy to clipboard operation
GFocalV2 copied to clipboard

关于GFocal head中的GN

Open HAOCHENYE opened this issue 4 years ago • 9 comments

翔哥你好,我重新了试了以下gflv2,的确提点还是很多的,并且我将topk4操作换成了普通卷积,也没有发现明显的掉点,现在已经适合部署了。

但是我发现如果我把默认的GN换成BN,fintune的时候loss和gn没有太大差别,但是map就只有0.0几了,请问这是什么情况?

我把shared head 改成 private head,发现map又正常了。请问到底是啥情况

HAOCHENYE avatar Dec 11 '20 02:12 HAOCHENYE

另外使用BN和GN,其loss是差不多的,但是就是一用BN,map就掉没了。难道是BN不适合shared head么

HAOCHENYE avatar Dec 11 '20 03:12 HAOCHENYE

你好,topk4换成卷积是采用conv1x1 然后channel改成4这样修改吗?我看到论文的也是在想这个topk的部署问题

sunzhe09 avatar Dec 11 '20 04:12 sunzhe09

你好,topk4换成卷积是采用conv1x1 然后channel改成4这样修改吗?我看到论文的也是在想这个topk的部署问题

是的,按理说如果dfl训练的足够好,应该有个波峰,用conv1x1理论上有近似的效果。请问你有试过BN么,为啥我以用BN,map就直接崩了

HAOCHENYE avatar Dec 11 '20 05:12 HAOCHENYE

还没有尝试修改bn,我时在另外的框架实现的,没有基于作者的代码训练。根据之前的分割网络的经验,GN改BN会有一些掉点

sunzhe09 avatar Dec 11 '20 06:12 sunzhe09

还没有尝试修改bn,我时在另外的框架实现的,没有基于作者的代码训练。根据之前的分割网络的经验,GN改BN会有一些掉点

不是掉点的问题了。。。map直接没了。因为mmdet里默认用的是shared head,我稍微改了以下代码,让FPN每个层都有独立的检测头,再替BN,精度就回去了。

到底是我训练配置的问题还是shared head不能用BN呢。我人都傻了

HAOCHENYE avatar Dec 11 '20 06:12 HAOCHENYE

可能是Batch size 太小,BN不好训练。

qianwangn avatar Dec 14 '20 03:12 qianwangn

可能是Batch size 太小,BN不好训练。

不是呀,bs 20,感觉不小呀

HAOCHENYE avatar Dec 16 '20 01:12 HAOCHENYE

还没有尝试修改bn,我时在另外的框架实现的,没有基于作者的代码训练。根据之前的分割网络的经验,GN改BN会有一些掉点

不是掉点的问题了。。。map直接没了。因为mmdet里默认用的是shared head,我稍微改了以下代码,让FPN每个层都有独立的检测头,再替BN,精度就回去了。

到底是我训练配置的问题还是shared head不能用BN呢。我人都傻了

FPN各个层特征之间可能还是存在差异,共享BN参数可能存在问题,之前我也尝试过,把BN换成不共享就可以了

Dave19950 avatar Mar 12 '21 09:03 Dave19950

还没有尝试修改bn,我时在另外的框架实现的,没有基于作者的代码训练。根据之前的分割网络的经验,GN改BN会有一些掉点

不是掉点的问题了。。。map直接没了。因为mmdet里默认用的是shared head,我稍微改了以下代码,让FPN每个层都有独立的检测头,再替BN,精度就回去了。 到底是我训练配置的问题还是shared head不能用BN呢。我人都傻了

FPN各个层特征之间可能还是存在差异,共享BN参数可能存在问题,之前我也尝试过,把BN换成不共享就可以了

比较奇怪的是,我用共享BN时,loss还是正常收敛的。不过的确换成不共享的head问题就解决了

HAOCHENYE avatar Mar 12 '21 09:03 HAOCHENYE