Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于GFocal head中的GN #10

Open
HAOCHENYE opened this issue Dec 11, 2020 · 9 comments
Open

关于GFocal head中的GN #10

HAOCHENYE opened this issue Dec 11, 2020 · 9 comments

Comments

@HAOCHENYE
Copy link

HAOCHENYE commented Dec 11, 2020

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

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

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

@HAOCHENYE
Copy link
Author

HAOCHENYE commented Dec 11, 2020

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

@sunzhe09
Copy link

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

@HAOCHENYE
Copy link
Author

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

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

@sunzhe09
Copy link

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

@HAOCHENYE
Copy link
Author

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

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

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

@qianwangn
Copy link

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

@HAOCHENYE
Copy link
Author

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

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

@Dave19950
Copy link

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

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

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

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

@HAOCHENYE
Copy link
Author

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

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

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants