EFFICIENTDET_PHI and Backbone name
Opened this issue · 1 comments
Dear Dr. Park,
Thank you for your work and for your contribution to research.
From your paper (and the ones you cited) I understand that \phi is an hyperparameter to adjust the number of parameters of the Efficientdet network. However, I have to set an EFFICIENTDET_PHI parameter inside the configuration file and a backbone name (efficientdet_d0, efficientdet_d1 etc.). In your example in the folder "experiments", you set the same number for EFFICIENTDET_PHI (e.g = 3) and for backbone name (e.g efficientdet_d3) both in the case of \phi = 3 that \phi = 6 (efficientdet_d6). I do not understant whether setting a different value (e.g. EFFICIENTDET_PHI = 4 and efficientdet_d2) is a conceptual mistake.
Thank you for your attention,
Best regards
Antonio
Hello,
Thanks for your question. Looking back at the code, it seems MODEL.BACKBONE.NAME
is irrelevant since the backbone is created using the EFFICIENTDET_PHI
parameter, e.g.,
# Regular with BN (pretrained on ImageNet)
self.efficientnet = eval(f'efficientnet_b{cfg.MODEL.EFFICIENTDET_PHI}')(
pretrained=True
)
or any other such instances in core/nets/backbone/efficientdet.py
. It seems the backbone name is only used for recording purposes (e.g., on a console or as the directory name), so for example if you train with EFFICIENTDET_PHI=3
, you would want to set the name as efficientdet_d3
so that the trained model is associated with the correct backbone name in your output/log directories. Beyond this, the backbone name is irrelevant, you can probably achieve the same with using just EFFICIENTDET_PHI
parameter.
Please let me know if you find it relevant otherwise.