Comments (6)
Thanks for the report @devinbost, I totally see where you're coming from.
@SkafteNicki let's prioritize this issue. What's your thought on providing the additional signature?
from torchmetrics.
Hi @devinbost, thanks for raising this issue.
Tagging @lucadiliello for opinions, because he has implemented most of the retrieval metrics.
I am more than willing to change the implementation based on best practice in the industry. Have only worked shortly on retrieval problems, so not a expert.
The only problem in my view we have to solve is the backwards compatibility. I am going to assume that some of our user base are using the retrieval metrics as they are right now, as this is only raised as a issue now (the alternative is that non are using them). Thus, I would preferably support both cases. @devinbost does the new propose interface do this, or can we discuss how to make things backwards compatible.
from torchmetrics.
They are definitely used: https://github.com/search?q=RetrievalMRR&type=code
So we need to come up with a backwards compatible design. We could add a new submodule, or a new set of classes in the retrieval submodule. Given the different signatures I wouldn't complicate the existing classes, but that's me.
@SkafteNicki @lucadiliello @devinbost what would be a good name for the submodule that is not retrieval
? Is search
a good enough one?
from torchmetrics.
I deeply appreciate all the attention on this!!
@lantiga search
is a good name. The implementation that I recommended above would definitely apply in search use cases.
from torchmetrics.
@devinbost Is there any of the metrics from the retrieval domain you are particular interested in? Just to prioritize what to implement first
from torchmetrics.
@SkafteNicki The first one would be recall. After that, MRR and then NDCG. Those the the most commonly used metrics in the industry and literature.
from torchmetrics.
Related Issues (20)
- Unpredictable class order when `panoptic_quality(..., return_per_class=True)`
- torchmetrics Accuracy HOT 8
- BootStrapper.reset() does not reset properly
- segmentation.MeanIoU is wrong HOT 3
- DataLoader worker is killed in Docker HOT 4
- MeanAveragePrecision - bug in `max_detection_thresholds` HOT 3
- Documentation of ERGAS HOT 1
- Support for DLM (AIM) metric HOT 1
- Error for index tensor verification in GeneralizedDice if target is zeros HOT 1
- Incorrect caching (`m._compute`) of metrics inside a `MetricCollection` if `compute_groups` are used and `.compute` is called twice HOT 1
- Classification Report, maybe with the option to select even more metrics HOT 1
- `MeanAveragePrecision.tm_to_coco` example fails with `IndexError: list index out of range` HOT 1
- The compute_groups may lead to unexpected behavior HOT 1
- GPU ram memory increase until overflow when using PSNR and SSIM HOT 1
- Need higher level RAG metrics HOT 2
- Multi output functionality for MeanAbsoluteError HOT 1
- _cumsum moves the data to default GPU when deterministic flag is on HOT 1
- Multiple threshold for Multilabel metrics
- Cannot import the "clustering" module HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from torchmetrics.