mmdetection icon indicating copy to clipboard operation
mmdetection copied to clipboard

[Feature] Support YOLOX-PAI

Open okotaku opened this issue 2 years ago • 3 comments

Motivation

YOLOX-PAI: An Improved YOLOX, Stronger and Faster than YOLOv6 official repo

Related PR

https://github.com/open-mmlab/mmcv/pull/2256 https://github.com/open-mmlab/mmclassification/pull/1025

Result

Backbone ASFF TOOD box AP
YOLOX-PAI-s N N 41.8
YOLOX-PAI-s Y N 42.9
YOLOX-PAI-s Y Y 43.9

Checklist

  1. Pre-commit or other linting tools are used to fix the potential lint issues.
  2. The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
  3. If the modification has potential influence on downstream projects, this PR should be tested with downstream projects, like MMDet or MMCls.
  4. The documentation has been modified accordingly, like docstring or example tutorials.

okotaku avatar Sep 13 '22 06:09 okotaku

Hi @okotaku , Thanks for your kind PR. It seems that your branch deviates from the dev branch. Could you use git rebase --onto to rebase your modification to dev?

ZwwWayne avatar Sep 14 '22 06:09 ZwwWayne

It will be better not to remove request for Collaborator reviewers.

shinya7y avatar Sep 20 '22 01:09 shinya7y

Sorry. When I pushed 'Re-request review', Collaborator reviewers were removed.

okotaku avatar Sep 20 '22 01:09 okotaku

Maybe we should wait for the announcement of MMYOLO or MMDet-YOLO before further discussion. https://zhuanlan.zhihu.com/p/565106513 https://ultralytics.com/yolo-vision

shinya7y avatar Sep 21 '22 10:09 shinya7y

nn.SiLU vs. mmcv Swish

nn.silu is faster and use less GPU memory, but causes compatibility issues that restrict versions of PyTorch and MMCV. A possible solution is the following three PRs: (1) Support SiLU for PyTorch < 1.7 in MMCV, like MMYOLO https://github.com/open-mmlab/mmyolo/blob/84f115c4e57856ab63417fb9b781db88fe10ccf1/mmyolo/models/layers/yolo_bricks.py#L14-L27 (2) Use mmcv Swish in this PR, like other code in MMDetection v2 (3) Replace all mmcv Swish with nn.SiLU in MMDetection v3.0

shinya7y avatar Sep 21 '22 16:09 shinya7y

1st option looks good. I created PR for mmcv. https://github.com/open-mmlab/mmcv/pull/2278

okotaku avatar Sep 22 '22 08:09 okotaku

Are there any plans or ideas to refactor yolox_asff_pafpn.py and support todo: handle len(self.in_channels) > 3?

shinya7y avatar Sep 23 '22 10:09 shinya7y

Are there any plans or ideas to refactor yolox_asff_pafpn.py and support todo: handle len(self.in_channels) > 3?

Yes. I will implement it soon. Please wait for a few days.

okotaku avatar Sep 26 '22 10:09 okotaku

@shinya7y I pushed refactored codes. Please review it.

okotaku avatar Oct 03 '22 00:10 okotaku

@okotaku Are you interested in adding related features to mmyolo? And if the algorithm is developed based on dev 3.x, it will be more efficient and simpler to implement.

hhaAndroid avatar Oct 10 '22 03:10 hhaAndroid

@hhaAndroid I will try to develop based on dev-3.x. But there may not be time to contribute to mmyolo.

okotaku avatar Oct 11 '22 05:10 okotaku

LGTM. @hhaAndroid I would appreciate it if you could proceed with remaining tasks (additional review, discussion for 2.x vs. 3.x, retraining, uploading weights, and updating README.md).

shinya7y avatar Oct 12 '22 04:10 shinya7y

OK

hhaAndroid avatar Nov 22 '22 02:11 hhaAndroid

LGTM. @hhaAndroid I would appreciate it if you could proceed with remaining tasks (additional review, discussion for 2.x vs. 3.x, retraining, uploading weights, and updating README.md).

Ok. But we'd really like you to create PR directly to the dev-3.x branch

hhaAndroid avatar Nov 22 '22 02:11 hhaAndroid

@hhaAndroid I have already created PR for dev-3.x. Do you want to close this one? https://github.com/open-mmlab/mmdetection/pull/9255

okotaku avatar Nov 22 '22 05:11 okotaku