-
Notifications
You must be signed in to change notification settings - Fork 443
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
MMDet MaskRCNN ResNet50/SwinTransformer Decouple #3281
MMDet MaskRCNN ResNet50/SwinTransformer Decouple #3281
Conversation
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.
At first glance, it looks like you're importing and replacing modules.
@jaegukhyun Can you take a look to make sure there's no duplication with detection-related tasks?
Will the MaskRCNN
in src/otx/algo/instance_segmentation/maskrcnn.py
, which is used as the main, be replaced with OTXInstanceSegModel
instead of MMDetInstanceSegCompatibleModel
in another PR?
I have one question during review. |
Hi @harimkang, maybe I need to clarify some points. I've transferred all the essential MaskRCNN code and backbone code from MMDet to OTX 2.x, reflecting a similar approach with MMDet detection models or the mmcv conv/norm module you did. Also, reuse as many components as Jaeguk moved. I'm not sure of the rationale behind replacing |
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.
I think separate mmdet folder has pros and cons. My opinion is we don't need to specify that all of algorithms come from mmdet. @harimkang What do you think?
src/otx/algo/instance_segmentation/mmdet/models/detectors/base.py
Outdated
Show resolved
Hide resolved
src/otx/algo/instance_segmentation/mmdet/models/layers/bbox_nms.py
Outdated
Show resolved
Hide resolved
src/otx/algo/instance_segmentation/mmdet/models/utils/typing_utils.py
Outdated
Show resolved
Hide resolved
@jaegukhyun Currently, it relies on MMDeployExporter. However, if we intend to remove mmdeploy dependency, this action should be addressed in a separate PR due to its large scope. |
Yes, I think we're on the same page. But doesn't Or are you saying you're going to leave the old model alone and add a new recipe (without mm)? |
@harimkang Of course, there are still several mm-related components, including mmcv opset, mmdet data structures, mmdeploy, and mmengine, that still remain. It's possible to migrate all these components to OTX 2.x, it's also time-consuming. Given the scope, this migration cannot be achieved in a single PR. Looking ahead, for torchvision.MaskRCNN, a new recipe will be necessary. And, to maintain backward compatibility, we can continue utilizing MMDetInstanceSegCompatibleModel until we find a solution for full compatibility between torchvision.MaskRCNN and MMDet MaskRCNN. |
Yes I understand, thanks for the clarification! :) |
Summary
How to test
Checklist
License
Feel free to contact the maintainers if that's a concern.