[Fix] Update the ClassBalancedDataset logic #1048
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related PR: open-mmlab/mmdetection#10038
Description of the problem
Right now, if the
cat_ids
is empty, the operation will be skipped. And the length of the repeat_factors will not equal to len(self.dataset).mmengine/mmengine/dataset/dataset_wrapper.py
Lines 430 to 437 in 093068e
The index of the image without any label will be replaced by the next image, and this will cause error.
mmengine/mmengine/dataset/dataset_wrapper.py
Lines 383 to 391 in 093068e
Hence, if the image label is empty, it should add
1.0
inrepeat_factors
to keep the length same.Results of LVIS
Before fix this error
After fix this error
Released result in mmdet