-
Notifications
You must be signed in to change notification settings - Fork 101
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
c2wh = dict([(64,56), ( 128,28), (256,14) ,(512,7)]) 是否需要改动问题 #21
Comments
@Lewis0427 Lines 38 to 39 in aa5fb63
上述代码的想法很简单,假设输入为 n x n ,那么其总共有n x n 个频谱。但其实在一张14x14 的特征图上的(2,2) 频率分量他的绝对频率是和一张7x7 的特征图上的(1,1) 分量是一致的。因此我们为了保证不同stage(也即不同分辨率)的频率都是一致的,我们做了这样的归一化,这就导致分辨率不会影响结果。即使在COCO这种本身图像大小不一的数据集上也能work。
我们设置这个c2wh主要还是为了在固定分辨率和网络结构的情况下(一般是分类网络),提前确定好大小并预先生成对应频谱的DCT 权重,而不用每次都resize,这样应该会快一点。 |
@Lewis0427 |
我不是7的倍数的尺寸写到c2wh中,不会影响吗?还请赐教 |
@Lewis0427 |
万分感谢您! |
你好,感谢你的分享!其实我关于c2wh setting那里有一些疑问。我看大多数类似的提问是关于如果feature size不是正好7X7这样的话c2wh该怎么设置。我看你的回复是adaptive_avg_pool2d那里做resize应该不会影响性能。不过那些问题都是基于feature map的H和W相等的情况。如果我的feature size的W和H不相等,比如input size是200X80这个大小的,如果最后的feature map size是25X8这样的话,DCT那里继续做adaptive_avg_pool2d的resize是否会影响最后的结果呢?顺便问下对于input size是变化的的情况(不同batch的input size不同),FCA的resize这个效果如何呢?谢谢! |
@CaptainPrice12 |
@cfzd 感谢你的回复!其实对channel分组我还有个疑问。如果不对channel做split成n组,而是每个DCT filter都对所有的channel做一次运算的话,就像issue#14讨论过的https://github.com/cfzd/FcaNet/issues/14, 这么做的话运算量确实会大一些,效果会怎么样呢?如果不同的DCT filter对每个channel都做运算的话,是不是最终应该对每个channel上不同DCT filter(e.g., top16)的运算结果再求一次平均从而得到最后这个channel的结果呢? |
我的输入尺寸是(64,48,48)若使用原始c2wh = dict([(64,56), ( 128,28), (256,14) ,(512,7)]) ,再用adaptive_avg_pool2d() 由48变为56(小尺寸变大尺寸),会不会损害性能呢,应该怎么处理较好呢?麻烦赐教
The text was updated successfully, but these errors were encountered: