youngwanLEE / vovnet-detectron2

[CVPR 2020] VoVNet backbone networks for detectron2
Other
378 stars 69 forks source link

SE param is not used in OSA module #10

Open tkhe opened 4 years ago

tkhe commented 4 years ago

From OSA stage I noticed that SE param can be changed to False in some cases, e.g. block_per_stage != 1. I guess it means the following OSA module should not include SE module.

https://github.com/youngwanLEE/vovnet-detectron2/blob/f96f53448a162cd5364ff9d4ef0530c7d9a961a6/vovnet/vovnet.py#L260-L265

But it seems that the SE param defined in OSA module is never used, so SE module will be applied in every OSA module.

https://github.com/youngwanLEE/vovnet-detectron2/blob/f96f53448a162cd5364ff9d4ef0530c7d9a961a6/vovnet/vovnet.py#L186-L189

Is it a bug? or just I misunderstood it?

gau-nernst commented 2 years ago

I notice this also. timm only applies SE in the last block. I didn't see the papers mentioned any of these.

https://github.com/rwightman/pytorch-image-models/blob/07eb2f12005f75be3ed6c2394f3512e7a8ac640a/timm/models/vovnet.py#L244-L256

Have you figured out whether it is a bug?

gau-nernst commented 2 years ago

Seems like SE is only applied to stage 2 and 3, since they have only 1 block? Still, it is pretty strange