-
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
[Feature] Support efficientnet in mmdetection. #7514
Conversation
Codecov Report
@@ Coverage Diff @@
## dev #7514 +/- ##
==========================================
- Coverage 63.62% 63.61% -0.01%
==========================================
Files 341 342 +1
Lines 27584 27735 +151
Branches 4660 4698 +38
==========================================
+ Hits 17549 17645 +96
- Misses 9109 9154 +45
- Partials 926 936 +10
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
'../_base_/datasets/coco_detection.py', '../_base_/default_runtime.py' | ||
] | ||
|
||
cudnn_benchmark = True |
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.
is this setting necessary?
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 directly copy the setting of retinanet_r50_fpn_crop640_50e_coco.py in nas_fpn.
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.
OK, we can keep that for now. In the next step we should verify the effectiveness of this option and leave a comment to explain if this key is necessary, otherwise we can delete them.
configs/efficientnet/retinanet_effb3_fpn_crop896_8x4_1x_coco.py
Outdated
Show resolved
Hide resolved
* [Fix] Adjust the order of get_classes and FileClient. (#7276) * delete -sv (#7277) Co-authored-by: Wenwei Zhang <[email protected]> * [Docs] Add Chinese version of finetune (#7178) * [Fix] Fix wrong img name in onnx2tensorrt.py (#7157) * [Docs] fix albumentations installed way (#7143) * Update finetune.md Translate the finetune.md doc to Chinese * Update finetune.md * Update finetune.md * Update finetune.md * fix lint * fx lint * fix pr Co-authored-by: Jamie <[email protected]> Co-authored-by: BigDong <[email protected]> * set unmap_results=True in ssd_head (#7328) * Update YOLOX log for non square input (#7235) * [Enhance] add cpu_num in cocopanoptic for pq computing (#7315) * add cpu_num in cocopanoptic for pq computing * cpu_num -> nproc * move nproc to evaluate * [Enhancement] Allow to set channel_order in LoadImageFromFile (#7258) * allow to set channel_order when loading images * fix lint * fix unit test * fix lint * [Fix] Force the inputs of `get_bboxes` in yolox_head to float32. (#7324) * Fix softnms bug * Add force_fp32 in corner_head and centripetal_head * [Fix] Fix typo in FPN neck (#7347) * update readme and pretrained related (#7301) * [Docs] Add Chinese version of onnx2tensorrt.md (#7219) * Fix bug of docs * translate onnx2tensorrt.md * fix * fix end-of-file-fixer * fix some bugs * 修复链接跳转 * 修复链接跳转 * 修复链接跳转-测试1 * 修复链接跳转-测试2 * 修复链接跳转-测试2 * 修复链接跳转-测试3 * 修复链接跳转-测试5 * Fix Co-authored-by: jbwang1997 <[email protected]> * Update useful_tools.md (#7180) * [Enhancement]: Update colab tutorials (#7310) * update colab tutorials * update * fix * fix wrong CUDA explaination * resolve comments * resolve comments * fix typo Co-authored-by: Cedric Luo <[email protected]> Co-authored-by: tripleMu <[email protected]> Co-authored-by: jbwang1997 <[email protected]> Co-authored-by: kira <[email protected]> Co-authored-by: Wenwei Zhang <[email protected]> * [Fix] fix misplaced arguments in LoadPanopticAnnotations (#7388) * [Enhance] Take point sample related functions out of mask_point_head (#7353) add point sample replace function in mask_point_head * [Enhance] Add instance evalutation for coco_panoptic (#7313) update comments rename function and replace condition rename add message for proposal_fast when instance segmentation evaluation set cocoGt as arg update comments update comments update docstring and rename add unit test update docstring add assert for instance eval * [Feature] Add diff seeds to diff ranks. (#7432) * Enhance the robustness of analyze_logs.py (#7407) * [Feature] Add multi machine dist_train (#7415) * [Enchance] Supplementary notes of sync_random_seed (#7440) * Supplementary Notes * update * update * update * Unified name of orig as ori (#7456) * Remove duplicate link (#7480) * [Fix] Adding comments for MaxIoUAssigner (#7464) * Add comments * update url * Add description in docstring * Update sphinx * update commit * [Enhance] Update docstring of cross entropy loss (#7472) * update docstring of ce loss update docstring * update docstring * [Enchance] Added documentation on mmdet using mmcls‘s backbone (#7438) * add how-to docs * update * update index.rst * update * update * Update README.md (#7498) * fix typos (#7510) * update-mosaic-to-how-to (#7507) * [Fix] Fix fpg link (#7478) * [Doc] Mosaic documentation enhancements (#7470) * Mosaic documentation enhancements - Added Mosaic and MultiImageMixDataset must be used together in FAQ document - Added the demo configuration of Faster R-CNN using Mosaic * Mosaic doc enhancements correct some errors as suggested * Remove unnecessary Settings a little change * update some details * update-mosaic-to-how-to * Mosaic documentation enhancements - Added Mosaic and MultiImageMixDataset must be used together in FAQ document - Added the demo configuration of Faster R-CNN using Mosaic * Mosaic doc enhancements correct some errors as suggested * Remove unnecessary Settings a little change * update some details * rebase dev branch delete the mosaic in fap.md since it is in how_to.md * rebase dev * Mosaic documentation enhancements - Added Mosaic and MultiImageMixDataset must be used together in FAQ document - Added the demo configuration of Faster R-CNN using Mosaic * Mosaic doc enhancements correct some errors as suggested * Remove unnecessary Settings a little change * update some details * rebase dev branch delete the mosaic in fap.md since it is in how_to.md * Mosaic documentation enhancements - Added Mosaic and MultiImageMixDataset must be used together in FAQ document - Added the demo configuration of Faster R-CNN using Mosaic * Mosaic doc enhancements correct some errors as suggested * Remove unnecessary Settings a little change * update some details * rebase dev * Bug fix: RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cuda:2! (#7521) 修复Free anchor Retinanet网络训练时,可能会遇到计算得到的anchor与pre_bboxes不在同一个cuda device的bug。 * [Feature] Torchvision high-precision ResNet model (#7489) * Update tnr model * Update README * Update README * Update comments * Update metafile.yml * Update model URL * add msdeformattn pixel decoder (#7466) fix typo rm img_metas rename in pixel_decoder update comments rename fix typo generae points with MlvlPointGenerator * [Enhance] MaskFormer refactor (#7471) * maskformer refactor update docstring update docstring update unit test update unit test update unit test * remove redundant code * update unit test * [Feature] Support efficientnet in mmdetection. (#7514) * Initial implementation * Add missing import * Add MemoryEfficientSwishImplementation. Add docstrings * Add efficientnet2mmdet tool * Add config folder * Flake8 * Flake8 * Flake8 * Fix config * Requested changes * docformatter * Update train config from https://github.com/google/automl/blob/master/efficientdet * Run pre-commit * Fix schedule * Set by_epoch=False in scheduler * Train 80 epochs * Remove duplicated arg * Update README.md * efficient3 efficient0 * efficientNet imports * efficientNet * config edit path for eff3 and dropout for eff0 * efficientnet review2 * fix model_converter location and drop path * fix model converter and efficientnet import * register memoryefficietnswish * eff0, eff3 * fix flake8 yapf isort * same padding in tensorflow and edit drop path rate * fix init of utils * Align mmdet utils with mmcls * Align mmdet.models.utils with mmcls * Use mmcls efficientnet backbone * Update * Update * Update metafile Co-authored-by: David de la Iglesia Castro <[email protected]> Co-authored-by: David de la Iglesia Castro <[email protected]> Co-authored-by: jiangyitong <[email protected]> Co-authored-by: jiangyitong <[email protected]> * [Fix] Fix reduction=mean in CELoss. (#7449) * [Fix] Fix ignore in CELoss. * add ut * fix and add comments * add avg_non_ignore option * bce avg * fix lint * [Enhance] update pascal voc result (#7503) * [Enhance] update pascal voc result * minor fix * [Feature] Support to set data root through commands (#7386) * Fix #6915: Support to set data root through commands * Support #6915: seperate function in tools/utils.py, support test.py and browse_dataset.py * update #6915: refactor the code ref @hhaAndroid advice * support #6915: fix format problem * supoort corresponding scripts and update doc @hhaAndroid * updata misc.py as @ZwwWayne and @hhaAndroid * Update mmdet/utils/misc.py Co-authored-by: Haian Huang(深度眸) <[email protected]> * fix mmdet/utils/misc.py format problem Co-authored-by: Haian Huang(深度眸) <[email protected]> * [Feature] Add Mask2Former to mmdet (#6938) update doc update doc format deepcopy pixel_decoder cfg move mask_pseudo_sampler cfg to config file move part of postprocess from head to detector fix bug in postprocessing move class setting from head to config file remove if else move mask2bbox to mask/util update docstring update docstring in result2json fix bug update class_weight add maskformer_fusion_head add maskformer fusion head update add cfg for filter_low_score update maskformer update class_weight update config update unit test rename param update comments in config rename variable, rm arg, update unit tests update mask2bbox add unit test for mask2bbox replace unsqueeze(1) and squeeze(1) add unit test for maskformer_fusion_head update docstrings update docstring delete \ remove modification to ce loss update docstring update docstring update docstring of ce loss update unit test update docstring update docstring update docstring rename rename add msdeformattn pixel decoder maskformer refactor add strides in config remove redundant code remove redundant code update unit test update config update * [Fix] Update unit test of CrossEntropyCost (#7537) * [Fix] Memory leaking in panpotic segmentation evaluation (#7538) * fix broadcast shape bug in yolov3 (#7551) * Fix `pointrend` missing `get_uncertainty` function bug (#7550) * [Fix] Adjust the order of get_classes and FileClient. (#7276) * delete -sv (#7277) Co-authored-by: Wenwei Zhang <[email protected]> * [Docs] Add Chinese version of finetune (#7178) * [Fix] Fix wrong img name in onnx2tensorrt.py (#7157) * [Docs] fix albumentations installed way (#7143) * Update finetune.md Translate the finetune.md doc to Chinese * Update finetune.md * Update finetune.md * Update finetune.md * fix lint * fx lint * fix pr Co-authored-by: Jamie <[email protected]> Co-authored-by: BigDong <[email protected]> * set unmap_results=True in ssd_head (#7328) * Update YOLOX log for non square input (#7235) * [Enhance] add cpu_num in cocopanoptic for pq computing (#7315) * add cpu_num in cocopanoptic for pq computing * cpu_num -> nproc * move nproc to evaluate * [Enhancement] Allow to set channel_order in LoadImageFromFile (#7258) * allow to set channel_order when loading images * fix lint * fix unit test * fix lint * [Fix] Force the inputs of `get_bboxes` in yolox_head to float32. (#7324) * Fix softnms bug * Add force_fp32 in corner_head and centripetal_head * [Fix] Fix typo in FPN neck (#7347) * update readme and pretrained related (#7301) * [Docs] Add Chinese version of onnx2tensorrt.md (#7219) * Fix bug of docs * translate onnx2tensorrt.md * fix * fix end-of-file-fixer * fix some bugs * 修复链接跳转 * 修复链接跳转 * 修复链接跳转-测试1 * 修复链接跳转-测试2 * 修复链接跳转-测试2 * 修复链接跳转-测试3 * 修复链接跳转-测试5 * Fix Co-authored-by: jbwang1997 <[email protected]> * Update useful_tools.md (#7180) * [Enhancement]: Update colab tutorials (#7310) * update colab tutorials * update * fix * fix wrong CUDA explaination * resolve comments * resolve comments * fix typo Co-authored-by: Cedric Luo <[email protected]> Co-authored-by: tripleMu <[email protected]> Co-authored-by: jbwang1997 <[email protected]> Co-authored-by: kira <[email protected]> Co-authored-by: Wenwei Zhang <[email protected]> * Fix pointrend missing get_uncertainty function bug Co-authored-by: Wencheng Wu <[email protected]> Co-authored-by: Yue Zhou <[email protected]> Co-authored-by: Wenwei Zhang <[email protected]> Co-authored-by: MingJian.L <[email protected]> Co-authored-by: Jamie <[email protected]> Co-authored-by: BigDong <[email protected]> Co-authored-by: Cedric Luo <[email protected]> Co-authored-by: Yosuke Shinya <[email protected]> Co-authored-by: Cedric Luo <[email protected]> Co-authored-by: Jingwei Zhang <[email protected]> Co-authored-by: jbwang1997 <[email protected]> Co-authored-by: Xiangxu-0103 <[email protected]> Co-authored-by: tripleMu <[email protected]> Co-authored-by: kira <[email protected]> * fix docstring in bbox_nms.py (#7547) * Create init_cfg.md * Update docs/zh_cn/tutorials/init_cfg.md Co-authored-by: Haian Huang(深度眸) <[email protected]> * update init_cfg.md * update init_cfg.md * update init_cfg.md * update init_cfg.md * fix docstring * fix docstring Co-authored-by: Haian Huang(深度眸) <[email protected]> * [Doc] Add doc for COCO panoptic segmentation test results submission (#7430) * [Doc] Add doc for coco panoptic segmentation test results submission * add example * add script * update comments * update * update * update * update * update * Bump versions to v2.23.0 (#7555) * Bump versions to v2.23.0 * update log * replace two Efficientnet * update mask2former log * add maskformer and mask2former in README_zh-CN.md * add efficientnet in README.md and README_zh-CN.md * update changelog * simplify highlights * update changelog. * update changelog again * add some highlights Co-authored-by: Wencheng Wu <[email protected]> Co-authored-by: Yue Zhou <[email protected]> Co-authored-by: MingJian.L <[email protected]> Co-authored-by: Jamie <[email protected]> Co-authored-by: BigDong <[email protected]> Co-authored-by: Cedric Luo <[email protected]> Co-authored-by: Yosuke Shinya <[email protected]> Co-authored-by: Cedric Luo <[email protected]> Co-authored-by: Jingwei Zhang <[email protected]> Co-authored-by: jbwang1997 <[email protected]> Co-authored-by: Xiangxu-0103 <[email protected]> Co-authored-by: tripleMu <[email protected]> Co-authored-by: kira <[email protected]> Co-authored-by: Haian Huang(深度眸) <[email protected]> Co-authored-by: Shilong Zhang <[email protected]> Co-authored-by: Osman F Bayram <[email protected]> Co-authored-by: Diego <[email protected]> Co-authored-by: Noah <[email protected]> Co-authored-by: Youth-Got <[email protected]> Co-authored-by: David de la Iglesia Castro <[email protected]> Co-authored-by: David de la Iglesia Castro <[email protected]> Co-authored-by: jiangyitong <[email protected]> Co-authored-by: jiangyitong <[email protected]> Co-authored-by: RangiLyu <[email protected]> Co-authored-by: CCODING <[email protected]> Co-authored-by: Kevin Ye <[email protected]> Co-authored-by: Czm369 <[email protected]>
* Initial implementation * Add missing import * Add MemoryEfficientSwishImplementation. Add docstrings * Add efficientnet2mmdet tool * Add config folder * Flake8 * Flake8 * Flake8 * Fix config * Requested changes * docformatter * Update train config from https://github.com/google/automl/blob/master/efficientdet * Run pre-commit * Fix schedule * Set by_epoch=False in scheduler * Train 80 epochs * Remove duplicated arg * Update README.md * efficient3 efficient0 * efficientNet imports * efficientNet * config edit path for eff3 and dropout for eff0 * efficientnet review2 * fix model_converter location and drop path * fix model converter and efficientnet import * register memoryefficietnswish * eff0, eff3 * fix flake8 yapf isort * same padding in tensorflow and edit drop path rate * fix init of utils * Align mmdet utils with mmcls * Align mmdet.models.utils with mmcls * Use mmcls efficientnet backbone * Update * Update * Update metafile Co-authored-by: David de la Iglesia Castro <[email protected]> Co-authored-by: David de la Iglesia Castro <[email protected]> Co-authored-by: jiangyitong <[email protected]> Co-authored-by: jiangyitong <[email protected]>
* Initial implementation * Add missing import * Add MemoryEfficientSwishImplementation. Add docstrings * Add efficientnet2mmdet tool * Add config folder * Flake8 * Flake8 * Flake8 * Fix config * Requested changes * docformatter * Update train config from https://github.com/google/automl/blob/master/efficientdet * Run pre-commit * Fix schedule * Set by_epoch=False in scheduler * Train 80 epochs * Remove duplicated arg * Update README.md * efficient3 efficient0 * efficientNet imports * efficientNet * config edit path for eff3 and dropout for eff0 * efficientnet review2 * fix model_converter location and drop path * fix model converter and efficientnet import * register memoryefficietnswish * eff0, eff3 * fix flake8 yapf isort * same padding in tensorflow and edit drop path rate * fix init of utils * Align mmdet utils with mmcls * Align mmdet.models.utils with mmcls * Use mmcls efficientnet backbone * Update * Update * Update metafile Co-authored-by: David de la Iglesia Castro <[email protected]> Co-authored-by: David de la Iglesia Castro <[email protected]> Co-authored-by: jiangyitong <[email protected]> Co-authored-by: jiangyitong <[email protected]>
* Initial implementation * Add missing import * Add MemoryEfficientSwishImplementation. Add docstrings * Add efficientnet2mmdet tool * Add config folder * Flake8 * Flake8 * Flake8 * Fix config * Requested changes * docformatter * Update train config from https://github.com/google/automl/blob/master/efficientdet * Run pre-commit * Fix schedule * Set by_epoch=False in scheduler * Train 80 epochs * Remove duplicated arg * Update README.md * efficient3 efficient0 * efficientNet imports * efficientNet * config edit path for eff3 and dropout for eff0 * efficientnet review2 * fix model_converter location and drop path * fix model converter and efficientnet import * register memoryefficietnswish * eff0, eff3 * fix flake8 yapf isort * same padding in tensorflow and edit drop path rate * fix init of utils * Align mmdet utils with mmcls * Align mmdet.models.utils with mmcls * Use mmcls efficientnet backbone * Update * Update * Update metafile Co-authored-by: David de la Iglesia Castro <[email protected]> Co-authored-by: David de la Iglesia Castro <[email protected]> Co-authored-by: jiangyitong <[email protected]> Co-authored-by: jiangyitong <[email protected]>
Motivation
Continue on PR #6464
Support EfficientNet-b3 backbone in mmdetection.
Add EfficientNet-b3 + FPN model.
Modification
Please briefly describe what modification is made in this PR.
BC-breaking (Optional)
Does the modification introduce changes that break the backward-compatibility of the downstream repos?
If so, please describe how it breaks the compatibility and how the downstream projects should modify their code to keep compatibility with this PR.
Use cases (Optional)
If this PR introduces a new feature, it is better to list some use cases here, and update the documentation.
Checklist