weecology / weecology/DeepForest

Eliminate the custom eval code

Open
#901 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
774
Forks
265
PR merge metrics
No merged PRs in 30d

Description

Revisiting the pull request #504, torchmetrics wasn't quite ready to be swapped in for all our evaluation, see that thread and the corresponding issue. I think it can be re-evaluated after looking at the repo and answered from

https://github.com/Lightning-AI/torchmetrics/discussions/2152#discussioncomment-11918240

Torchmetrics is standardized, testing and scalable, our code is not. For a matcher example, see the torchvision matcher class used in MillionTrees.

https://github.com/weecology/MillionTrees/blob/202461412bdd8bc31b632f2636274ed340a631f7/milliontrees/common/metrics/all_metrics.py#L406

Roadmap

  1. Implement IOU matcher and recall/precision score for a fixed threshold
  2. Assert that the two versions produce the same result
  3. Test timings of two versions

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading pull request #504, the corresponding issue, and the linked torchmetrics discussion. Use the MillionTrees torchvision matcher example as the comparison point; done means implementing the IOU matcher and fixed-threshold recall/precision, proving both versions match, and comparing their timings.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning, performance, testing-qa
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.