[Bug Fix] fix eval_recalls for compatibility with NumPy > 1.23 #12063
+1
−1
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.
Motivation
In NumPy versions prior to 1.23, creating an array from nested lists of varying shapes would result in an object array by default. Starting from NumPy 1.23, such usage raises a ValueError instead. This PR addresses the issue in the eval_recalls function to ensure compatibility with NumPy > 1.23
Modification
Replaced
all_ious = np.array(all_ious)
withall_ious = np.array(all_ious, dtype=object)
inmmdet/evaluation/functional/recall.py
, specifically in theeval_recall
function (line 111).BC-breaking (Optional)
No, this modification does not break backward compatibility. The function is adjusted to maintain consistent behavior across NumPy versions.
Checklist