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

Add segment performance check #935

Merged
merged 19 commits into from Mar 2, 2022
Merged

Add segment performance check #935

merged 19 commits into from Mar 2, 2022

Conversation

matanper
Copy link
Contributor

@matanper matanper commented Feb 28, 2022

resolve #917

Open problems:

  1. handling of 'None' properties: what to do when some of the properties' value is null? right now just ignoring
  2. Bins size comparison to detect unshuffled data?

@matanper matanper added the feature Feature update or code change to the package label Feb 28, 2022
@matanper matanper self-assigned this Feb 28, 2022
@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB


def _create_bins_and_metrics(self, batch_data: t.List[t.Tuple], dataset):
"""Return dict of bins for each property in format
{property_name: [{start: val, stop: val, count: x, metrics: {name: metric...}}, ...], ...}"""
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
{property_name: [{start: val, stop: val, count: x, metrics: {name: metric...}}, ...], ...}"""
{property_name: [{start: val, stop: val, count: x, metrics: {name: metric...}}], ...}"""

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is not true, since this is a list with multiple items

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what other item is there after the metric?

@review-notebook-app
Copy link

View / edit / reply to this conversation on ReviewNB

noamzbr commented on 2022-02-28T14:27:43Z
----------------------------------------------------------------

Line #5.    coco_data = coco.load_dataset(train=False, object_type='VisionData')

We should link to an explanation of what is the meaning of each property


@review-notebook-app
Copy link

review-notebook-app bot commented Mar 1, 2022

View / edit / reply to this conversation on ReviewNB

noamzbr commented on 2022-03-01T12:10:21Z
----------------------------------------------------------------

* the image segment performance


@review-notebook-app
Copy link

review-notebook-app bot commented Mar 1, 2022

View / edit / reply to this conversation on ReviewNB

noamzbr commented on 2022-03-01T12:10:23Z
----------------------------------------------------------------

The check helps to detect segments of your data that are under-performing based on the basic properties of the image. For example, by default the check would show how the performance depends on brightness, area and other such properties. Identifying you models' weak segments might help to address specific issues and improve the overall performance of the model.


@review-notebook-app
Copy link

View / edit / reply to this conversation on ReviewNB

noamzbr commented on 2022-03-01T12:10:24Z
----------------------------------------------------------------

Line #8.    prediction_formatter = DetectionPredictionFormatter(coco.yolo_prediction_formatter)

Perhaps let's start now with improving our notebooks by writing the explicit formatter here?


@review-notebook-app
Copy link

View / edit / reply to this conversation on ReviewNB

noamzbr commented on 2022-03-01T12:10:25Z
----------------------------------------------------------------

The check has a default condition which can be defined. The condition calculates for each property & metric the mean score and then looks at the ratio between the lowest segment score and the mean score. If this ratio is less than defined threshold, the condition fails.\ The purpose of the condition is to catch properties segments that are significantly worse than the mean - which might indicate a problem.

Also, add something specific to the result we're seeing here - "in this case, the condition has identified..."


@matanper matanper requested a review from ItayGabbay March 1, 2022 13:06
@review-notebook-app
Copy link

View / edit / reply to this conversation on ReviewNB

ItayGabbay commented on 2022-03-01T14:49:27Z
----------------------------------------------------------------

which AP is this? maybe call it AveragePrecision@0.5..0.95, and AverageRecall@100?


@matanper matanper merged commit 55b7b85 into main Mar 2, 2022
@delete-merged-branch delete-merged-branch bot deleted the segment-performance branch March 2, 2022 07:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Feature update or code change to the package
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FEAT][CV] Segment performance according to image / label properties.
3 participants