-
Notifications
You must be signed in to change notification settings - Fork 9.5k
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
Make YOLOv3 neck more flexible #5218
Conversation
Codecov Report
@@ Coverage Diff @@
## master #5218 +/- ##
==========================================
- Coverage 65.39% 64.25% -1.14%
==========================================
Files 276 275 -1
Lines 21229 21094 -135
Branches 3561 3532 -29
==========================================
- Hits 13883 13555 -328
- Misses 6572 6773 +201
+ Partials 774 766 -8
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your contribution!
Can be merged after fixing the docstring format issues. |
Hi @hokmund !First of all, we want to express our gratitude for your significant PR in this project. Your contribution is highly appreciated, and we are grateful for your efforts in helping improve this open-source project during your personal time. We believe that many developers will benefit from your PR. We would also like to invite you to join our Special Interest Group (SIG) private channel on Discord, where you can share your experiences, ideas, and build connections with like-minded peers. To join the SIG channel, simply message moderator— OpenMMLab on Discord or briefly share your open-source contributions in the #introductions channel and we will assist you. Look forward to seeing you there! Join us :https://discord.gg/UjgXkPWNqA If you have WeChat account,welcome to join our community on WeChat. You can add our assistant :openmmlabwx. Please add "mmsig + Github ID" as a remark when adding friends:) |
Motivation
At the moment, YOLOV3Neck only allows to create neck architectures that have
out_channels[0] == in_channels[1]
andout_channels[1] == i_channels[2]
. This is due to this line of code:It can be easily fixed to allow more flexible architectures without any backward compatibility issues.
It is convenient when you assemble YOLO-like architecture using some pretrained backbone, e.g. mobilenetv2_100 that has [320, 96, 32] channels in output feature maps. Current implementation enforces you to use very tight neck with [96, 32, X] channels. Less strict implementation will allow you to create a wider neck and increase your model's capacity.
Modification
Change input channels of conv{i} layers in order to accept arbitrary number of output channels from the previous DetectionBlock.
BC-breaking (Optional)
No breaking changes.