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

Focus module gone in version 6? #6257

Closed
1 task done
iumyx2612 opened this issue Jan 10, 2022 · 9 comments
Closed
1 task done

Focus module gone in version 6? #6257

iumyx2612 opened this issue Jan 10, 2022 · 9 comments
Labels
question Further information is requested

Comments

@iumyx2612
Copy link
Contributor

Search before asking

Question

So did you completely remove Focus module from YOLOv5-v6.0?
I read from here and here that Focus module is simply a Conv module but less parameters, faster, less GPU mem with profiling result as a proof
But later, in here, with more profiling results, Focus module seems worse than Conv module

Additional

No response

@iumyx2612 iumyx2612 added the question Further information is requested label Jan 10, 2022
@glenn-jocher
Copy link
Member

glenn-jocher commented Jan 10, 2022

@iumyx2612 yes the Focus layer was removed in v6.0. Profiling results vary based on hardware: many consumer cards and some enterprise cards like T4 observed faster performance using the Focus layer, but other cards like V100/A100 performed better with the current implementation.

The main driver for the switch was exportability improvements, as now YOLOv5 is officially supported for inference on 11 different backends, many of which provide better support for the new Conv implementation. (https://docs.ultralytics.com/yolov5/tutorials/model_export)

@iumyx2612
Copy link
Contributor Author

@iumyx2612 yes the Focus layer was removed in v6.0. Profiling results vary based on hardware: many consumer cards and some enterprise cards like T4 observed faster performance using the Focus layer, but other cards like V100/A100 performed better with the current implementation.

The main driver for the switch was exportability improvements, as now YOLOv5 is officially supported for inference on 11 different backends, many of which provide better support for the new Conv implementation. (#251)

Thank you

@songyuc
Copy link

songyuc commented May 24, 2022

Hi, guys!
Is this 6*6-Conv a learnable module or freezed during the training?

@glenn-jocher
Copy link
Member

@songyuc learnable, nothing is frozen by default

@songyuc
Copy link

songyuc commented May 24, 2022

@songyuc learnable, nothing is frozen by default

So, this 6*6-Conv might tend to play a role of Focus or a better role of feature extraction while down-samling, is this a good understanding?

@glenn-jocher
Copy link
Member

@songyuc no. The main idea behind Focus was faster initial layer with minimal mAP impact. Focus has now been deprecated for better exportability.

@songyuc
Copy link

songyuc commented May 24, 2022

@songyuc no. The main idea behind Focus was faster initial layer with minimal mAP impact. Focus has now been deprecated for better exportability.

Thanks sincerely for your answer!

@songyuc
Copy link

songyuc commented Oct 11, 2022 via email

@glenn-jocher
Copy link
Member

@songyuc 你好,宋玉成!很高兴能帮到您。如果您有任何关于 YOLOv5 的疑问,请随时提问。祝您使用愉快!

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

No branches or pull requests

3 participants