From 0ae295ff18ac94f93b0e051aa23112f80bcdce03 Mon Sep 17 00:00:00 2001 From: Fangyi Date: Mon, 6 Mar 2023 20:08:22 -0500 Subject: [PATCH] update sqr-deformable detr --- README.md | 5 ++--- .../sqr/deformable_detr_SQR_r50_50e_coco.py | 2 +- .../__pycache__/transformer.cpython-37.pyc | Bin 42935 -> 43038 bytes 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 598a89e..25e6a35 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,7 @@ ## 📰 News [2023.3 ] This work has been accepted by CVPR 2023.\ -[2023.3 ] The experiments and code on SQR-Deformable DETR have been released.\ -[2022.12] The experiments and code on SQR-Adamixer have been released.\ +[2023.3 ] The experiments and code on SQR-adamixer and SQR-Deformable DETR have been released.\ [2022.12] The code is available now. ## 🤔 Motivation @@ -37,7 +36,7 @@ Our config file lies in [configs/sqr](configs/sqr) folder. We provide two implementation instances of SQR-adamixer in this repo, one is in [/mmdet/models/roi_heads/adamixer_decoder_Qrecycle.py](/mmdet/models/roi_heads/adamixer_decoder_Qrecycle.py), which might be slower for training but require less GPU memory (and easy to understand the logic). Another is in [/mmdet/models/roi_heads/adamixer_decoder_Qrecycle_optimize.py](/mmdet/models/roi_heads/adamixer_decoder_Qrecycle_optimize.py), which is much faster than the former but has higher requirement on GPU memory. ### SQR-Deformable DETR -We provide the implementation of SQR-deformable DETR in `QRDeformableDetrTransformerDecoder` in [/mmdet/models/utils/transformer.py](/mmdet/models/utils/transformer.py). Note Deformable DETR requires 32 as training batchsize and we follow this setting. +Similarly, We provide two implementation instances of SQR-deformable DETR in `QRDeformableDetrTransformerDecoder` in [/mmdet/models/utils/transformer.py](/mmdet/models/utils/transformer.py). Named as `forward` and `forward_slow`, separately. __NOTE:__ Please use `mmcv_full==1.3.3` and `pytorch>=1.5.0` for correct reproduction. diff --git a/configs/sqr/deformable_detr_SQR_r50_50e_coco.py b/configs/sqr/deformable_detr_SQR_r50_50e_coco.py index 9391e82..9139ff1 100644 --- a/configs/sqr/deformable_detr_SQR_r50_50e_coco.py +++ b/configs/sqr/deformable_detr_SQR_r50_50e_coco.py @@ -152,7 +152,7 @@ ]) ] data = dict( - samples_per_gpu=8, + samples_per_gpu=4, workers_per_gpu=8, train=dict(filter_empty_gt=False, pipeline=train_pipeline), val=dict(pipeline=test_pipeline), diff --git a/mmdet/models/utils/__pycache__/transformer.cpython-37.pyc b/mmdet/models/utils/__pycache__/transformer.cpython-37.pyc index bf7dd9a39161402baec83b402acac66b7af0f59f..99dad3fdd82b481316ff8448dee7a1625df9adc7 100644 GIT binary patch delta 2888 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 T)fX^wVU?($OT1l<>