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

Fix Grounding DINO nan when class tokens exceeds 256 #11066

Merged
merged 1 commit into from
Oct 20, 2023

Conversation

Divadi
Copy link
Contributor

@Divadi Divadi commented Oct 19, 2023

Motivation

Grounding DINO tokenizes class names using GLIP code, and associates tokens with original class names. However, "max_num_entities" is capped at 256.

def create_positive_map(tokenized,
tokens_positive: list,
max_num_entities: int = 256) -> Tensor:

This causes issues when Grounding DINO is run (fine-tune or zero-shot inference) with a large number of class names whose total number of tokens exceed this amount. In my use case, 100~ classes ended up yielding 280 tokens. This causes nans in the prediction scores, because later class names are not associated with any tokens.

Modification

Simply set the max_num_entities as max_text_len defined for Grounding DINO contrastive objective. This does not break original code, as max_text_len by default is 256.

Note that max_tokens for language_model also needs to be updated, or it can silently not detect any classes past 256 tokens. However, that can just be modified in config, unlike max_num_entities.

@CLAassistant
Copy link

CLAassistant commented Oct 19, 2023

CLA assistant check
All committers have signed the CLA.

@hhaAndroid
Copy link
Collaborator

@Divadi Thank you

@hhaAndroid hhaAndroid changed the base branch from main to dev-3.x October 20, 2023 02:17
@hhaAndroid hhaAndroid merged commit 88dfe48 into open-mmlab:dev-3.x Oct 20, 2023
1 of 2 checks passed
yumion pushed a commit to yumion/mmdetection that referenced this pull request Jan 31, 2024
yumion pushed a commit to yumion/mmdetection that referenced this pull request Jan 31, 2024
ChuaHanChong added a commit to Porolis-Technologies/AI_mmdetection that referenced this pull request Nov 15, 2024
* Fix  docstring for dimension of targets argument (open-mmlab#11058)

* Fix Grounding DINO nan when class tokens exceeds 256 (open-mmlab#11066)

* Fix broken links in README.md (open-mmlab#11060)

* Fixed the issue where the directory level of the youtubevis2coco… (open-mmlab#11086)

* Fixed the issue where type and by_epoch in loop_cfg exist simult… (open-mmlab#11085)

* Support ODinW and evaluate (open-mmlab#11105)

* [MMSIG#357] Add new configs for panoptic_fpn (open-mmlab#11109)

* [Feature] Add optional score threshold option to coco_error_analysis.py (open-mmlab#11117)

* Support LVIS chunked evaluation and image chunked inference of GLIP (open-mmlab#11136)

* Replace partially weighted download links with OpenXLab for the Faster-RCNN (open-mmlab#11173)

* add odinw configs and evaluation results of GLIP(open-mmlab#11175)

* Add GroundingDINO on ODinW results, and support caption prompt of GroundingDINO (open-mmlab#11187)

* MMGroundingDINO-A replicable and more comprehensive GroundingDINO (open-mmlab#11295)

Co-authored-by: Cycyes <92714336+Cycyes@users.noreply.github.com>

* finetune MM-GDINO on ov_coco and ov_lvis (open-mmlab#11304)

* [Feature] Add RTMDet Swin / ConvNeXt (open-mmlab#11259)

* Fix bug in `convert_coco_format` (open-mmlab#11251)

* Fix CO-DETR load_from url in config (open-mmlab#11220)

* Update README and refine of MM-GDINO (open-mmlab#11298)

* Fixed mask shape after Albu postprocess (open-mmlab#11280)

* update English version of md (open-mmlab#11336)

* Fix one of the CO-DETR config files (open-mmlab#11325)

* replace '.jpg' instead of 'jpg' to guarantee replacing file ending (open-mmlab#11340)

* Bump version to 3.3.0 (open-mmlab#11338)

* [Bug Fix] video_demo bug fixed for issue#11353 (open-mmlab#11451)

* use `lerp` in ema (open-mmlab#11442)

* fix:grounding_pretrain_text_trans_negative_label (open-mmlab#11404)

* Release MM-GroundingDINO SwinB and SwinL Weights (open-mmlab#11458)

---------

Co-authored-by: Mathias Réus <93187038+AwePhD@users.noreply.github.com>
Co-authored-by: Jinhyung Park <jinhyun1@andrew.cmu.edu>
Co-authored-by: Aaron Sun <aaronzs@users.noreply.github.com>
Co-authored-by: LRJKD <101466907+LRJKD@users.noreply.github.com>
Co-authored-by: Haian Huang(深度眸) <1286304229@qq.com>
Co-authored-by: Lei Lei <18294546+Crescent-Saturn@users.noreply.github.com>
Co-authored-by: Leaf Ying <43506966+guyleaf@users.noreply.github.com>
Co-authored-by: key <30455795+keyhsw@users.noreply.github.com>
Co-authored-by: Cycyes <92714336+Cycyes@users.noreply.github.com>
Co-authored-by: Shilin Xu <xsl.cmd@gmail.com>
Co-authored-by: takuoko <to78314910@gmail.com>
Co-authored-by: Jaewoo Choi <130287161+honeybadger78@users.noreply.github.com>
Co-authored-by: Lintch <44701395+returnL@users.noreply.github.com>
Co-authored-by: ilcopione <109541948+ilcopione@users.noreply.github.com>
Co-authored-by: Adnan Mujagic <adnanmujagic@outlook.com>
Co-authored-by: R-Fehler <36566250+R-Fehler@users.noreply.github.com>
Co-authored-by: Jun0922 <89365607+Jun0922@users.noreply.github.com>
Co-authored-by: RangiLyu <lyuchqi@gmail.com>
Co-authored-by: Chen Qibo <69334887+Baboom-l@users.noreply.github.com>
ChuaHanChong added a commit to Porolis-Technologies/AI_mmdetection that referenced this pull request Nov 15, 2024
* Fix  docstring for dimension of targets argument (open-mmlab#11058)

* Fix Grounding DINO nan when class tokens exceeds 256 (open-mmlab#11066)

* Fix broken links in README.md (open-mmlab#11060)

* Fixed the issue where the directory level of the youtubevis2coco… (open-mmlab#11086)

* Fixed the issue where type and by_epoch in loop_cfg exist simult… (open-mmlab#11085)

* Support ODinW and evaluate (open-mmlab#11105)

* [MMSIG#357] Add new configs for panoptic_fpn (open-mmlab#11109)

* [Feature] Add optional score threshold option to coco_error_analysis.py (open-mmlab#11117)

* Support LVIS chunked evaluation and image chunked inference of GLIP (open-mmlab#11136)

* Replace partially weighted download links with OpenXLab for the Faster-RCNN (open-mmlab#11173)

* add odinw configs and evaluation results of GLIP(open-mmlab#11175)

* Add GroundingDINO on ODinW results, and support caption prompt of GroundingDINO (open-mmlab#11187)

* MMGroundingDINO-A replicable and more comprehensive GroundingDINO (open-mmlab#11295)

Co-authored-by: Cycyes <92714336+Cycyes@users.noreply.github.com>

* finetune MM-GDINO on ov_coco and ov_lvis (open-mmlab#11304)

* [Feature] Add RTMDet Swin / ConvNeXt (open-mmlab#11259)

* Fix bug in `convert_coco_format` (open-mmlab#11251)

* Fix CO-DETR load_from url in config (open-mmlab#11220)

* Update README and refine of MM-GDINO (open-mmlab#11298)

* Fixed mask shape after Albu postprocess (open-mmlab#11280)

* update English version of md (open-mmlab#11336)

* Fix one of the CO-DETR config files (open-mmlab#11325)

* replace '.jpg' instead of 'jpg' to guarantee replacing file ending (open-mmlab#11340)

* Bump version to 3.3.0 (open-mmlab#11338)

* [Bug Fix] video_demo bug fixed for issue#11353 (open-mmlab#11451)

* use `lerp` in ema (open-mmlab#11442)

* fix:grounding_pretrain_text_trans_negative_label (open-mmlab#11404)

* Release MM-GroundingDINO SwinB and SwinL Weights (open-mmlab#11458)

---------

Co-authored-by: Mathias Réus <93187038+AwePhD@users.noreply.github.com>
Co-authored-by: Jinhyung Park <jinhyun1@andrew.cmu.edu>
Co-authored-by: Aaron Sun <aaronzs@users.noreply.github.com>
Co-authored-by: LRJKD <101466907+LRJKD@users.noreply.github.com>
Co-authored-by: Haian Huang(深度眸) <1286304229@qq.com>
Co-authored-by: Lei Lei <18294546+Crescent-Saturn@users.noreply.github.com>
Co-authored-by: Leaf Ying <43506966+guyleaf@users.noreply.github.com>
Co-authored-by: key <30455795+keyhsw@users.noreply.github.com>
Co-authored-by: Cycyes <92714336+Cycyes@users.noreply.github.com>
Co-authored-by: Shilin Xu <xsl.cmd@gmail.com>
Co-authored-by: takuoko <to78314910@gmail.com>
Co-authored-by: Jaewoo Choi <130287161+honeybadger78@users.noreply.github.com>
Co-authored-by: Lintch <44701395+returnL@users.noreply.github.com>
Co-authored-by: ilcopione <109541948+ilcopione@users.noreply.github.com>
Co-authored-by: Adnan Mujagic <adnanmujagic@outlook.com>
Co-authored-by: R-Fehler <36566250+R-Fehler@users.noreply.github.com>
Co-authored-by: Jun0922 <89365607+Jun0922@users.noreply.github.com>
Co-authored-by: RangiLyu <lyuchqi@gmail.com>
Co-authored-by: Chen Qibo <69334887+Baboom-l@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants