-
Notifications
You must be signed in to change notification settings - Fork 332
[OD metrics]: (Step 1/3) Align _BoxRecall to the new object detection API #1396
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
Conversation
/gcbrun |
ok @ianstenbit I think this is prepared for a review! |
ok @ianstenbit - the performance of this is quite bad, but I'd like to merge then migrate to PyMetric to improve performance. PTAL when you have time, some of the utilities + the API will remain after the migration to PyMetric so its good to do 2 PRs. |
As a reviewer, it's difficult to tell what of these changes are directly related to BoxRecall vs unrelated improvements. I don't really see the point of this change if we intend to migrate to PyMetric anyway, as this makes a lot of changes to the internals of BoxRecall which is going to change. Maybe if you separated the utils changes from the BoxRecall changes I would be able to see that more clearly? |
@ianstenbit updated the PR description, and I believe everything in this PR is now related to getting the API of BoxRecall ironed out. Performance + making the API user facing will be handled in a follow up. |
/gcbrun |
… API (keras-team#1396) * Rewrite tests and update the docstring * Rewrite tests and update the docstring * filter out sentinels * filter out sentinels * filter out sentinels * math.top_k * Make recall work with dictionary input * recall unit tests fixed * Create COCO test, begin fixiing metric evaluation * Create COCO test, begin fixiing metric evaluation * Create COCO test, begin fixiing metric evaluation * Add prediction decoding * Remove changes to RetinaNet * Metrics and serialization changes * Move copy() call to to_dense * polish 1 * polish round 2 * polish round 3 * polish round 3 * polish round 3 * Rename recall * Rename recall * Reformat * Lint fix * Lint fix * Recall test implemented * Remove unused util * udpate docstring per francois' comment
What does this PR do?
Originally, I was planning to migrate COCORecall to
PyMetric
, but I eventually realized that onlyMeanAveragePrecision
needs to usePyMetric
. Recall can get numerical accuracy all within graph. Unfortunately performance is bad, so we will still need to migrate to PyMetric.This PR makes Recall a functional metric in the OD API and works with dictionary boxes, but performance is bad. After this PR:
Outstanding tasks: