Comments (4)
Thank you for your kind reply.
Could you point to memory increases if using multiple metrics like AUROC and AUPRC?
I'll need to double check it, usually for a standard image classification task, the output size is (1000000, 1000) while the target size is (1000000). Memory increase is actually not the crucial part, the synchorisation is. It takes a long time to sync across the whole cluster, especially when you are running with 256 or more GPUs.
If so, as pointed out, this implementation be added outside of the core library using the Metric interface & toolkit. Are you interested in having this implementation be available directly in torcheval library?
Are you interested in contributing this to the library?
Yes, I think it's a common usage and would like to contribute to torcheval.
If so, this would need to be tightly scoped to metrics like AUROC and AUPRC which store exactly the same states, e.g. inputs and targets. I don't think we should generalize this further as the input checking & validation can get very messy. We can reuse the functional metrics code.
I think there are more, for example, we use Pearson, Spearman, R^2 and RMSE for regression tasks. But I agree they should be limited to specific input/targets.
from torcheval.
Hi @ZhiyuanChen, this makes sense to us! Feel free to make a pull request!
Sure thing. I'll need some time to improve this code. Currently it syncs all states when computing average scores, which is unnecessary. I will have two lists and use merge_state to sync incrementally.
from torcheval.
Hi @ZhiyuanChen , thanks for creating this issue! Could you point to memory increases if using multiple metrics like AUROC and AUPRC?
If so, as pointed out, this implementation be added outside of the core library using the Metric interface & toolkit. Are you interested in having this implementation be available directly in torcheval
library?
If so, this would need to be tightly scoped to metrics like AUROC and AUPRC which store exactly the same states, e.g. inputs
and targets
. I don't think we should generalize this further as the input checking & validation can get very messy. We can reuse the functional metrics code.
Are you interested in contributing this to the library?
from torcheval.
Hi @ZhiyuanChen, this makes sense to us! Feel free to make a pull request!
from torcheval.
Related Issues (20)
- RuntimeError: "bitwise_and_cpu" not implemented for 'Float' when using binary_precison & binary_recall HOT 2
- Error in masking in the function multiclass_recall HOT 2
- FLOPs and ModuleSummary Documentation HOT 2
- More precise definition of perplexity when ignore index is not None HOT 1
- Throughput metric is not taking into account the number of processes HOT 2
- Disagreement for macro f1 with torchmetrics and sklearn HOT 5
- Docs return description of binary_confusion_matrix incorrect HOT 2
- Updating `Mean` with 0 leads to 'No calls to update() have been made...' warning HOT 1
- RetrievalRecall, RetrievalPrecision require different, 1D input than MulticlassRecall, MulticlassPrecision which accept batch input HOT 2
- Bug in MulticlassRecall example from when adding one additional class HOT 1
- Disagreement for auroc1 with sklearn HOT 3
- The score computed by `multiclass_f1_score` for binary classification is wrong. It is not f1 score but accuracy. HOT 2
- The FID result cannot be aligned with pytorch-fid/torch-fidelity HOT 1
- Torcheval pointing to wrong directory for nvrtc-builtins64_121.dll file.
- Potentially Misleading Error Message for multiclass_precision
- metrics should have an unsafe option
- Discrepancy between code and documentation on official pytorch websit
- Stable version for Torcheval
- Mutliclass Precision Recall Curve, docs not consistent with execution HOT 1
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 torcheval.