Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Note: we move fast, but still we preserve 0.1 version (one feature release) back compatibility.
[Unreleased] - YYYY-MM-DD¶
[Unreleased] - Added¶
[Unreleased] - Changed¶
Defaulting Dice score
average="macro"(#3042)
[Unreleased] - Deprecated¶
[Unreleased] - Removed¶
[Unreleased] - Fixed¶
[1.8.2] - 2025-09-03¶
[1.8.2] - Fixed¶
[1.8.1] - 2025-08-07¶
[1.8.1] - Changed¶
[1.8.1] - Fixed¶
Fixed unintended
sigmoidnormalization inBinaryPrecisionRecallCurve(#3182)
[1.8.0] - 2025-07-23¶
[1.8.0] - Added¶
Added
VMAFmetric to new video domain (#2991)Added
CRPSin regression domain (#3024)Added
aggregation_levelargument toDiceScore(#3018)Added support for
reduction="none"toLearnedPerceptualImagePatchSimilarity(#3053)Added support single
strinput for functional interface ofbert_score(#3056)Enhance:
BERTScoreto evaluate hypotheses against multiple references (#3069)Added
Lip Vertex Error (LVE)in multimodal domain (#3090)Added
antialiasargument toFIDmetric (#3177)Added
mixedinput format to segmentation metrics (#3176)
[1.8.0] - Changed¶
Changed
data_rangeargument inPSNRmetric to be a required argument (#3178)
[1.8.0] - Removed¶
Removed
zero_divisionargument fromDiceScore(#3018)
[1.7.4] - 2025-07-03¶
[1.7.4] - Changed¶
Improved numerical stability of pearson’s correlation coefficient (#3152)
[1.7.4] - Fixed¶
[1.7.3] - 2025-06-13¶
[1.7.3] - Fixed¶
[1.7.2] - 2025-05-27¶
[1.7.2] - Changed¶
Enhance: improve performance of
_rank_data(#3103)
[1.7.2] - Fixed¶
[1.7.1] - 2025-04-06¶
[1.7.1] - Changed¶
Enhance Support Adding a
MetricCollectionto AnotherMetricCollectioninadd_metricsFunction (#3032)
[1.7.1] - Fixed¶
[1.7.0] - 2025-03-20¶
[1.7.0] - Added¶
[1.7.0] - Changed¶
Making
num_classesoptional forone-hotinputs inMeanIoU(#3012)
[1.7.0] - Removed¶
Removed
Dicefrom classification (#3017)
[1.7.0] - Fixed¶
[1.6.3] - 2024-03-13¶
[1.6.3] - Fixed¶
[1.6.2] - 2024-02-28¶
[1.6.2] - Added¶
[1.6.2] - Changed¶
[1.6.2] - Fixed¶
Fixed
DiceScorewhen there is zero overlap between predictions and targets (#2860)Fixed
MeanAveragePrecisionforaverage="micro"when 0 label is not present (#2968)Fixed corner-case in
PearsonCorrCoefwhen input is constant (#2975)Fixed
MetricCollection.updategives identical results (#2944)Fixed missing
kwargsinPITmetric for permutation wise mode (#2977)Fixed multiple errors in the
_final_aggregationfunction forPearsonCorrCoef(#2980)Fixed incorrect CLIP-IQA type hints (#2952)
[1.6.1] - 2024-12-24¶
[1.6.1] - Changed¶
[1.6.1] - Fixed¶
[1.6.0] - 2024-11-12¶
[1.6.0] - Added¶
Added audio metric
NISQA(#2792)Added classification metric
LogAUC(#2377)Added classification metric
NegativePredictiveValue(#2433)Added regression metric
NormalizedRootMeanSquaredError(#2442)Added segmentation metric
Dice(#2725)Added method
merge_statetoMetric(#2786)Added support for propagation of the autograd graph in ddp setting (#2754)
[1.6.0] - Changed¶
Changed naming and input order arguments in
KLDivergence(#2800)
[1.6.0] - Deprecated¶
Deprecated Dice from classification metrics (#2725)
[1.6.0] - Removed¶
[1.6.0] - Fixed¶
[1.5.2] - 2024-11-07¶
[1.5.2] - Changed¶
Re-adding
numpy2+ support (#2804)
[1.5.2] - Fixed¶
[1.5.1] - 2024-10-22¶
[1.5.1] - Fixed¶
Changing
_modulesdict type in Pytorch 2.5 preventing to fail collections metrics (#2793)
[1.5.0] - 2024-10-18¶
[1.5.0] - Added¶
Added segmentation metric
HausdorffDistance(#2122)Added audio metric
DNSMOS(#2525)Added shape metric
ProcrustesDistance(#2723Added
MetricInputTransformerwrapper (#2392)Added
input_formatargument to segmentation metrics (#2572)Added
multi-outputsupport for MAE metric (#2605)Added
truncationargument toBERTScore(#2776)
[1.5.0] - Changed¶
[1.5.0] - Deprecated¶
Deprecated
num_outputsinR2Score(#2705)
[1.5.0] - Fixed¶
[1.4.3] - 2024-10-10¶
[1.4.3] - Fixed¶
[1.4.2] - 2022-09-12¶
[1.4.2] - Added¶
Re-adding
Chrfimplementation (#2701)
[1.4.2] - Fixed¶
Fixed wrong aggregation in
segmentation.MeanIoU(#2698)Fixed handling zero division error in binary IoU (Jaccard index) calculation (#2726)
Corrected the padding related calculation errors in SSIM (#2721)
Fixed compatibility of audio domain with new
scipy(#2733)Fixed how
prefix/postfixworks inMultitaskWrapper(#2722)Fixed flakiness in tests related to
torch.uniquewithdim=None(#2650)
[1.4.1] - 2024-08-02¶
[1.4.1] - Changed¶
[1.4.1] - Removed¶
Dropped
Chrfimplementation due to licensing issues with the upstream package (#2668)
[1.4.1] - Fixed¶
Fixed bug in
MetricCollectionwhen using compute groups andcomputeis called more than once (#2571)Fixed class order of
panoptic_quality(..., return_per_class=True)output (#2548)Fixed
BootstrapWrappernot being reset correctly (#2574)Fixed integration between
ClasswiseWrapperandMetricCollectionwith custom_filter_kwargsmethod (#2575)Fixed BertScore calculation: pred target misalignment (#2347)
Fixed
_cumsumhelper function in multi-gpu (#2636)Fixed bug in
MeanAveragePrecision.coco_to_tm(#2588)Fixed missed f-strings in exceptions/warnings (#2667)
[1.4.0] - 2024-05-03¶
[1.4.0] - Added¶
Added
SensitivityAtSpecificitymetric to classification subpackage (#2217)Added
QualityWithNoReferencemetric to image subpackage (#2288)Added a new segmentation metric:
Added support for calculating segmentation quality and recognition quality in
PanopticQualitymetric (#2381)Added
pretty-errorsfor improving error prints (#2431)Added support for
torch.floatweighted networks for FID and KID calculations (#2483)Added
zero_divisionargument to selected classification metrics (#2198)
[1.4.0] - Changed¶
Made
__getattr__and__setattr__ofClasswiseWrappermore general (#2424)
[1.4.0] - Fixed¶
Fix getitem for metric collection when prefix/postfix is set (#2430)
Fixed axis names with Precision-Recall curve (#2462)
Fixed list synchronization with partly empty lists (#2468)
Fixed memory leak in metrics using list states (#2492)
Fixed bug in computation of
ERGASmetric (#2498)Fixed
BootStrapperwrapper not working withkwargsprovided argument (#2503)Fixed warnings being suppressed in
MeanAveragePrecisionwhen requested (#2501)Fixed corner-case in
binary_average_precisionwhen only negative samples are provided (#2507)
[1.3.2] - 2024-03-18¶
[1.3.2] - Fixed¶
Fixed negative variance estimates in certain image metrics (#2378)
Fixed dtype being changed by deepspeed for certain regression metrics (#2379)
Fixed plotting of metric collection when prefix/postfix is set (#2429)
Fixed bug when
top_k>1andaverage="macro"for classification metrics (#2423)Fixed case where label prediction tensors in classification metrics were not validated correctly (#2427)
Fixed how auc scores are calculated in
PrecisionRecallCurve.plotmethods (#2437)
[1.3.1] - 2024-02-12¶
[1.3.1] - Fixed¶
Fixed how backprop is handled in
LPIPSmetric (#2326)Fixed
MultitaskWrappernot being able to be logged in lightning when using metric collections (#2349)Fixed high memory consumption in
Perplexitymetric (#2346)Fixed cached network in
FeatureSharenot being moved to the correct device (#2348)Fix naming of statistics in
MeanAveragePrecisionwith custom max det thresholds (#2367)Fixed custom aggregation in retrieval metrics (#2364)
Fixed initialize aggregation metrics with default floating type (#2366)
Fixed plotting of confusion matrices (#2358)
[1.3.0] - 2024-01-10¶
[1.3.0] - Added¶
Added more tokenizers for
SacreBLEUmetric (#2068)Added support for logging
MultiTaskWrapperdirectly with lightningslog_dictmethod (#2213)Added
FeatureSharewrapper to share submodules containing feature extractors between metrics (#2120)Added new metrics to image domain:
Added
averageargument to multiclass versions ofPrecisionRecallCurveandROC(#2084)Added confidence scores when
extended_summary=TrueinMeanAveragePrecision(#2212)Added
RetrievalAUROCmetric (#2251)Added
aggregateargument to retrieval metrics (#2220)Added utility functions in
segmentation.utilsfor future segmentation metrics (#2105)
[1.3.0] - Changed¶
[1.3.0] - Deprecated¶
[1.3.0] - Fixed¶
[1.2.1] - 2023-11-30¶
[1.2.1] - Added¶
[1.2.1] - Changed¶
[1.2.1] - Removed¶
Removed unused
lpipsthird-party package as dependency ofLearnedPerceptualImagePatchSimilaritymetric (#2230)
[1.2.1] - Fixed¶
Fixed numerical stability bug in
LearnedPerceptualImagePatchSimilaritymetric (#2144)Fixed numerical stability issue in
UniversalImageQualityIndexmetric (#2222)Fixed incompatibility for
MeanAveragePrecisionwithpycocotoolsbackend when too littlemax_detection_thresholdsare provided (#2219)Fixed support for half precision in Perplexity metric (#2235)
Fixed device and dtype for
LearnedPerceptualImagePatchSimilarityfunctional metric (#2234)Fixed bug in
Metric._reduce_states(...)when usingdist_sync_fn="cat"(#2226)Fixed bug in
CosineSimilaritywhere 2d is expected but 1d input was given (#2241)Fixed bug in
MetricCollectionwhen using compute groups andcomputeis called more than once (#2211)
[1.2.0] - 2023-09-22¶
[1.2.0] - Added¶
Added metric to cluster package:
MutualInformationScore(#2008)RandScore(#2025)NormalizedMutualInfoScore(#2029)AdjustedRandScore(#2032)CalinskiHarabaszScore(#2036)DunnIndex(#2049)HomogeneityScore(#2053)CompletenessScore(#2053)VMeasureScore(#2053)FowlkesMallowsIndex(#2066)AdjustedMutualInfoScore(#2058)DaviesBouldinScore(#2071)
Added
backendargument toMeanAveragePrecision(#2034)
[1.1.2] - 2023-09-11¶
[1.1.2] - Fixed¶
Fixed tie breaking in ndcg metric (#2031)
Fixed bug in
BootStrapperwhen very few samples were evaluated that could lead to crash (#2052)Fixed bug when creating multiple plots that lead to not all plots being shown (#2060)
Fixed performance issues in
RecallAtFixedPrecisionfor large batch sizes (#2042)Fixed bug related to
MetricCollectionused with custom metrics haveprefix/postfixattributes (#2070)
[1.1.1] - 2023-08-29¶
[1.1.1] - Added¶
Added
averageargument toMeanAveragePrecision(#2018)
[1.1.1] - Fixed¶
Fixed bug in
PearsonCorrCoefis updated on single samples at a time (#2019)Fixed support for pixel-wise MSE (#2017)
Fixed bug in
MetricCollectionwhen used with multiple metrics that return dicts with same keys (#2027)Fixed bug in detection intersection metrics when
class_metrics=Trueresulting in wrong values (#1924)Fixed missing attributes
higher_is_better,is_differentiablefor some metrics (#2028)
[1.1.0] - 2023-08-22¶
[1.1.0] - Added¶
Added source aggregated signal-to-distortion ratio (SA-SDR) metric (#1882
Added
VisualInformationFidelityto image package (#1830)Added
EditDistanceto text package (#1906)Added
top_kargument toRetrievalMRRin retrieval package (#1961)Added support for evaluating
"segm"and"bbox"detection inMeanAveragePrecisionat the same time (#1928)Added
PerceptualPathLengthto image package (#1939)Added support for multioutput evaluation in
MeanSquaredError(#1937)Added argument
extended_summarytoMeanAveragePrecisionsuch that precision, recall, iou can be easily returned (#1983)Added warning to
ClipScoreif long captions are detected and truncate (#2001)Added
CLIPImageQualityAssessmentto multimodal package (#1931)Added new property
metric_stateto all metrics for users to investigate currently stored tensors in memory (#2006)
[1.0.3] - 2023-08-08¶
[1.0.3] - Added¶
Added warning to
MeanAveragePrecisionif too many detections are observed (#1978)
[1.0.3] - Fixed¶
[1.0.2] - 2023-08-02¶
[1.0.2] - Added¶
Added warning to
PearsonCorrCoeffif input has a very small variance for its given dtype (#1926)
[1.0.2] - Changed¶
Changed all non-task specific classification metrics to be true subtypes of
Metric(#1963)
[1.0.2] - Fixed¶
Fixed bug in
CalibrationErrorwhere calculations for double precision input was performed in float precision (#1919)Fixed bug related to the
prefix/postfixarguments inMetricCollectionandClasswiseWrapperbeing duplicated (#1918)Fixed missing AUC score when plotting classification metrics that support the
scoreargument (#1948)
[1.0.1] - 2023-07-13¶
[1.0.1] - Fixed¶
Fixes corner case when using
MetricCollectiontogether with aggregation metrics (#1896)Fixed the use of
max_fprinAUROCmetric when only one class is present (#1895)Fixed bug related to empty predictions for
IntersectionOverUnionmetric (#1892)Fixed bug related to
MeanMetricand broadcasting of weights when Nans are present (#1898)Fixed bug related to expected input format of pycoco in
MeanAveragePrecision(#1913)
[1.0.0] - 2023-07-04¶
[1.0.0] - Added¶
Added
prefixandpostfixarguments toClasswiseWrapper(#1866)Added speech-to-reverberation modulation energy ratio (SRMR) metric (#1792, #1872)
Added new global arg
compute_with_cacheto control caching behaviour aftercomputemethod (#1754)Added
ComplexScaleInvariantSignalNoiseRatiofor audio package (#1785)Added
Runningwrapper for calculate running statistics (#1752)Added
RelativeAverageSpectralErrorandRootMeanSquaredErrorUsingSlidingWindowto image package (#816)Added support for
SpecificityAtSensitivityMetric (#1432)Added support for plotting of metrics through
.plot()method ( #1328, #1481, #1480, #1490, #1581, #1585, #1593, #1600, #1605, #1610, #1609, #1621, #1624, #1623, #1638, #1631, #1650, #1639, #1660, #1682, #1786, )Added support for plotting of audio metrics through
.plot()method (#1434)Added
classesto output fromMAPmetric (#1419)Added Binary group fairness metrics to classification package (#1404)
Added
MinkowskiDistanceto regression package (#1362)Added
pairwise_minkowski_distanceto pairwise package (#1362)Added
PSNRBmetric (#1421)Added
ClassificationTaskEnum and use in metrics (#1479)Added
ignore_indexoption toexact_matchmetric (#1540)Add parameter
top_ktoRetrievalMAP(#1501)Added support for deterministic evaluation on GPU for metrics that uses
torch.cumsumoperator (#1499)Added support for plotting of aggregation metrics through
.plot()method (#1485)Added support for python 3.11 (#1612)
Added support for auto clamping of input for metrics that uses the
data_range([#1606](argument https://github.com/Lightning-AI/torchmetrics/pull/1606))Added
ModifiedPanopticQualitymetric to detection package (#1627)Added
PrecisionAtFixedRecallmetric to classification package (#1683)Added multiple metrics to detection package (#1284)
IntersectionOverUnionGeneralizedIntersectionOverUnionCompleteIntersectionOverUnionDistanceIntersectionOverUnion
Added
MultitaskWrapperto wrapper package (#1762)Added
RelativeSquaredErrormetric to regression package (#1765)Added
MemorizationInformedFrechetInceptionDistancemetric to image package (#1580)
[1.0.0] - Changed¶
Changed
permutation_invariant_trainingto allow using a'permutation-wise'metric function (#1794)Changed
update_countandupdate_calledfrom private to public methods (#1370)Raise exception for invalid kwargs in Metric base class (#1427)
Extend
EnumStrraisingValueErrorfor invalid value (#1479)Improve speed and memory consumption of binned
PrecisionRecallCurvewith large number of samples (#1493)Changed
__iter__method from raisingNotImplementedErrortoTypeErrorby setting toNone(#1538)FIDmetric will now raise an error if too few samples are provided (#1655)Allowed FID with
torch.float64(#1628)Changed
LPIPSimplementation to no more rely on third-party package (#1575)Changed FID matrix square root calculation from
scipytotorch(#1708)Changed calculation in
PearsonCorrCoeffto be more robust in certain cases (#1729)Changed
MeanAveragePrecisiontopycocotoolsbackend (#1832)
[1.0.0] - Deprecated¶
[1.0.0] - Removed¶
Support for python 3.7 (#1640)
[1.0.0] - Fixed¶
Fixed support in
MetricTrackerforMultioutputWrapperand nested structures (#1608)Fixed restrictive check in
PearsonCorrCoef(#1649)Fixed integration with
jsonargparseandLightningCLI(#1651)Fixed corner case in calibration error for zero confidence input (#1648)
Fix precision-recall curve based computations for float target (#1642)
Fixed missing kwarg squeeze in
MultiOutputWrapper(#1675)Fixed padding removal for 3d input in
MSSSIM(#1674)Fixed
max_det_thresholdin MAP detection (#1712)Fixed states being saved in metrics that use
register_buffer(#1728)Fixed states not being correctly synced and device transferred in
MeanAveragePrecisionforiou_type="segm"(#1763)Fixed use of
prefixandpostfixin nestedMetricCollection(#1773)Fixed
axplotting logging in `MetricCollection (#1783)Fixed lookup for punkt sources being downloaded in
RougeScore(#1789)Fixed integration with lightning for
CompositionalMetric(#1761)Fixed several bugs in
SpectralDistortionIndexmetric (#1808)Fixed bug for corner cases in
MatthewsCorrCoef( #1812, #1863 )Fixed support for half precision in
PearsonCorrCoef(#1819)Fixed number of bugs related to
average="macro"in classification metrics (#1821)Fixed off-by-one issue when
ignore_index = num_classes + 1in Multiclass-jaccard (#1860)
[0.11.4] - 2023-03-10¶
[0.11.4] - Fixed¶
Fixed evaluation of
R2Scorewith near constant target (#1576)Fixed dtype conversion when metric is submodule (#1583)
Fixed bug related to
top_k>1andignore_index!=NoneinStatScoresbased metrics (#1589)Fixed corner case for
PearsonCorrCoefwhen running in ddp mode but only on single device (#1587)Fixed overflow error for specific cases in
MAPwhen big areas are calculated (#1607)
[0.11.3] - 2023-02-28¶
[0.11.3] - Fixed¶
[0.11.2] - 2023-02-21¶
[0.11.2] - Fixed¶
[0.11.1] - 2023-01-30¶
[0.11.1] - Fixed¶
Fixed type checking on the
maximizeparameter at the initialization ofMetricTracker(#1428)Fixed mixed precision autocast for
SSIMmetric (#1454)Fixed checking for
nltk.punktinRougeScoreif a machine is not online (#1456)Fixed wrongly reset method in
MultioutputWrapper(#1460)Fixed dtype checking in
PrecisionRecallCurvefortargettensor (#1457)
[0.11.0] - 2022-11-30¶
[0.11.0] - Added¶
Added
MulticlassExactMatchto classification metrics (#1343)Added
TotalVariationto image package (#978)Added
CLIPScoreto new multimodal package (#1314)Added regression metrics:
Added new nominal metrics:
Added option to pass
distributed_available_fnto metrics to allow checks for custom communication backend for makingdist_sync_fnactually useful (#1301)Added
normalizeargument toInception,FID,KIDmetrics (#1246)
[0.11.0] - Changed¶
[0.11.0] - Removed¶
[0.11.0] - Fixed¶
Fixed precision bug in
pairwise_euclidean_distance(#1352)
[0.10.3] - 2022-11-16¶
[0.10.3] - Fixed¶
[0.10.2] - 2022-10-31¶
[0.10.2] - Changed¶
Changed in-place operation to out-of-place operation in
pairwise_cosine_similarity(#1288)
[0.10.2] - Fixed¶
Fixed high memory usage for certain classification metrics when
average='micro'(#1286)Fixed precision problems when
structural_similarity_index_measurewas used with autocast (#1291)Fixed slow performance for confusion matrix based metrics (#1302)
Fixed restrictive dtype checking in
spearman_corrcoefwhen used with autocast (#1303)
[0.10.1] - 2022-10-21¶
[0.10.1] - Fixed¶
[0.10.0] - 2022-10-04¶
[0.10.0] - Added¶
Added a new NLP metric
InfoLM(#915)Added
Perplexitymetric (#922)Added
ConcordanceCorrCoefmetric to regression package (#1201)Added argument
normalizetoLPIPSmetric (#1216)Added support for multiprocessing of batches in
PESQmetric (#1227)Added support for multioutput in
PearsonCorrCoefandSpearmanCorrCoef(#1200)
[0.10.0] - Changed¶
Classification refactor ( #1054, #1143, #1145, #1151, #1159, #1163, #1167, #1175, #1189, #1197, #1215, #1195 )
Changed update in
FIDmetric to be done in online fashion to save memory (#1199)Improved performance of retrieval metrics (#1242)
Changed
SSIMandMSSSIMupdate to be online to reduce memory usage (#1231)
[0.10.0] - Deprecated¶
Deprecated
BinnedAveragePrecision,BinnedPrecisionRecallCurve,BinnedRecallAtFixedPrecision(#1163)BinnedAveragePrecision-> useAveragePrecisionwiththresholdsargBinnedPrecisionRecallCurve-> useAveragePrecisionRecallCurvewiththresholdsargBinnedRecallAtFixedPrecision-> useRecallAtFixedPrecisionwiththresholdsarg
Renamed and refactored
LabelRankingAveragePrecision,LabelRankingLossandCoverageError(#1167)LabelRankingAveragePrecision->MultilabelRankingAveragePrecisionLabelRankingLoss->MultilabelRankingLossCoverageError->MultilabelCoverageError
Deprecated
KLDivergenceandAUCfrom classification package (#1189)KLDivergencemoved toregressionpackageInstead of
AUCusetorchmetrics.utils.compute.auc
[0.10.0] - Fixed¶
[0.9.3] - 2022-08-22¶
[0.9.3] - Added¶
Added global option
sync_on_computeto disable automatic synchronization whencomputeis called (#1107)
[0.9.3] - Fixed¶
[0.9.2] - 2022-06-29¶
[0.9.2] - Fixed¶
Fixed mAP calculation for areas with 0 predictions (#1080)
Fixed bug where avg precision state and auroc state was not merge when using MetricCollections (#1086)
Skip box conversion if no boxes are present in
MeanAveragePrecision(#1097)Fixed inconsistency in docs and code when setting
average="none"inAveragePrecisionmetric (#1116)
[0.9.1] - 2022-06-08¶
[0.9.1] - Added¶
[0.9.1] - Fixed¶
[0.9.0] - 2022-05-30¶
[0.9.0] - Added¶
Added
RetrievalPrecisionRecallCurveandRetrievalRecallAtFixedPrecisionto retrieval package (#951)Added class property
full_state_updatethat determinesforwardshould callupdateonce or twice ( #984, #1033)Added support for nested metric collections (#1003)
Added
Diceto classification package (#1021)Added support to segmentation type
segmas IOU for mean average precision (#822)
[0.9.0] - Changed¶
Renamed
reductionargument toaveragein Jaccard score and added additional options (#874)
[0.9.0] - Removed¶
[0.9.0] - Fixed¶
Fixed non-empty state dict for a few metrics (#1012)
Fixed bug when comparing states while finding compute groups (#1022)
Fixed
torch.doublesupport in stat score metrics (#1023)Fixed
FIDcalculation for non-equal size real and fake input (#1028)Fixed case where
KLDivergencecould outputNan(#1030)Fixed deterministic for PyTorch<1.8 (#1035)
Fixed default value for
mdmc_averageinAccuracy(#1036)Fixed missing copy of property when using compute groups in
MetricCollection(#1052)
[0.8.2] - 2022-05-06¶
[0.8.2] - Fixed¶
[0.8.1] - 2022-04-27¶
[0.8.1] - Changed¶
Reimplemented the
signal_distortion_ratiometric, which removed the absolute requirement offast-bss-eval(#964)
[0.8.1] - Fixed¶
[0.8.0] - 2022-04-14¶
[0.8.0] - Added¶
Added
WeightedMeanAbsolutePercentageErrorto regression package (#948)Added new classification metrics:
Added new image metric:
Added support for
MetricCollectioninMetricTracker(#718)Added support for 3D image and uniform kernel in
StructuralSimilarityIndexMeasure(#818)Added smart update of
MetricCollection(#709)Added
ClasswiseWrapperfor better logging of classification metrics with multiple output values (#832)Added
**kwargsargument for passing additional arguments to base class (#833)Added negative
ignore_indexfor the Accuracy metric (#362)Added
adaptive_kfor theRetrievalPrecisionmetric (#910)Added
reset_real_featuresargument image quality assessment metrics (#722)Added new keyword argument
compute_on_cputo all metrics (#867)
[0.8.0] - Changed¶
Made
num_classesinjaccard_indexa required argument (#853, #914)Added normalizer, tokenizer to ROUGE metric (#838)
Improved shape checking of
permutation_invariant_training(#864)Allowed reduction
None(#891)MetricTracker.best_metricwill now give a warning when computing on metric that do not have a best (#913)
[0.8.0] - Deprecated¶
[0.8.0] - Removed¶
Removed support for versions of Pytorch-Lightning lower than v1.5 (#788)
Removed deprecated functions, and warnings in Text (#773)
WERandfunctional.wer
Removed deprecated functions and warnings in Image (#796)
SSIMandfunctional.ssimPSNRandfunctional.psnr
Removed deprecated functions, and warnings in classification and regression (#806)
FBetaandfunctional.fbetaF1andfunctional.f1Hingeandfunctional.hingeIoUandfunctional.iouMatthewsCorrcoefPearsonCorrcoefSpearmanCorrcoef
Removed deprecated functions, and warnings in detection and pairwise (#804)
MAPandfunctional.pairwise.manhattan
Removed deprecated functions, and warnings in Audio (#805)
PESQandfunctional.audio.pesqPITandfunctional.audio.pitSDRandfunctional.audio.sdrandfunctional.audio.si_sdrSNRandfunctional.audio.snrandfunctional.audio.si_snrSTOIandfunctional.audio.stoi
Removed unused
get_num_classesfromtorchmetrics.utilities.data(#914)
[0.8.0] - Fixed¶
[0.7.3] - 2022-03-23¶
[0.7.3] - Fixed¶
Fixed unsafe log operation in
TweedieDeviacefor power=1 (#847)Fixed bug in MAP metric related to either no ground truth or no predictions (#884)
Fixed
ConfusionMatrix,AUROCandAveragePrecisionon GPU when running in deterministic mode (#900)Fixed NaN or Inf results returned by
signal_distortion_ratio(#899)Fixed memory leak when using
updatemethod with tensor whererequires_grad=True(#902)
[0.7.2] - 2022-02-10¶
[0.7.2] - Fixed¶
Minor patches in JOSS paper.
[0.7.1] - 2022-02-03¶
[0.7.1] - Changed¶
[0.7.1] - Fixed¶
[0.7.0] - 2022-01-17¶
[0.7.0] - Added¶
Added NLP metrics:
Added
MultiScaleSSIMinto image metrics (#679)Added Signal to Distortion Ratio (
SDR) to audio package (#565)Added
MinMaxMetricto wrappers (#556)Added
ignore_indexto retrieval metrics (#676)Added support for multi references in
ROUGEScore(#680)Added a default VSCode devcontainer configuration (#621)
[0.7.0] - Changed¶
Scalar metrics will now consistently have additional dimensions squeezed (#622)
Metrics having third party dependencies removed from global import (#463)
Untokenized for
BLEUScoreinput stay consistent with all the other text metrics (#640)Arguments reordered for
TER,BLEUScore,SacreBLEUScore,CHRFScorenow expect input order as predictions first and target second (#696)Changed dtype of metric state from
torch.floattotorch.longinConfusionMatrixto accommodate larger values (#715)Unify
preds,targetinput argument’s naming across all text metrics (#723, #727)bert,bleu,chrf,sacre_bleu,wip,wil,cer,ter,wer,mer,rouge,squad
[0.7.0] - Deprecated¶
Renamed IoU -> Jaccard Index (#662)
Renamed text WER metric (#714)
functional.wer->functional.word_error_rateWER->WordErrorRate
Renamed correlation coefficient classes: (#710)
MatthewsCorrcoef->MatthewsCorrCoefPearsonCorrcoef->PearsonCorrCoefSpearmanCorrcoef->SpearmanCorrCoef
Renamed audio STOI metric: (#753, #758)
audio.STOItoaudio.ShortTimeObjectiveIntelligibilityfunctional.audio.stoitofunctional.audio.short_time_objective_intelligibility
Renamed audio PESQ metrics: (#751)
functional.audio.pesq->functional.audio.perceptual_evaluation_speech_qualityaudio.PESQ->audio.PerceptualEvaluationSpeechQuality
Renamed audio SDR metrics: (#711)
functional.sdr->functional.signal_distortion_ratiofunctional.si_sdr->functional.scale_invariant_signal_distortion_ratioSDR->SignalDistortionRatioSI_SDR->ScaleInvariantSignalDistortionRatio
Renamed audio SNR metrics: (#712)
functional.snr->functional.signal_distortion_ratiofunctional.si_snr->functional.scale_invariant_signal_noise_ratioSNR->SignalNoiseRatioSI_SNR->ScaleInvariantSignalNoiseRatio
Renamed F-score metrics: (#731, #740)
functional.f1->functional.f1_scoreF1->F1Scorefunctional.fbeta->functional.fbeta_scoreFBeta->FBetaScore
Renamed Hinge metric: (#734)
functional.hinge->functional.hinge_lossHinge->HingeLoss
Renamed image PSNR metrics (#732)
functional.psnr->functional.peak_signal_noise_ratioPSNR->PeakSignalNoiseRatio
Renamed image PIT metric: (#737)
functional.pit->functional.permutation_invariant_trainingPIT->PermutationInvariantTraining
Renamed image SSIM metric: (#747)
functional.ssim->functional.scale_invariant_signal_noise_ratioSSIM->StructuralSimilarityIndexMeasure
Renamed detection
MAPtoMeanAveragePrecisionmetric (#754)Renamed Fidelity & LPIPS image metric: (#752)
image.FID->image.FrechetInceptionDistanceimage.KID->image.KernelInceptionDistanceimage.LPIPS->image.LearnedPerceptualImagePatchSimilarity
[0.7.0] - Removed¶
[0.7.0] - Fixed¶
Fixed MetricCollection kwargs filtering when no
kwargsare present in update signature (#707)
[0.6.2] - 2021-12-15¶
[0.6.2] - Fixed¶
[0.6.1] - 2021-12-06¶
[0.6.1] - Changed¶
[0.6.1] - Fixed¶
[0.6.0] - 2021-10-28¶
[0.6.0] - Added¶
Added audio metrics:
Added Information retrieval metrics:
Added NLP metrics:
Added other metrics:
Added
MAP(mean average precision) metric to new detection package (#467)Added support for float targets in
nDCGmetric (#437)Added
averageargument toAveragePrecisionmetric for reducing multi-label and multi-class problems (#477)Added
MultioutputWrapper(#510)Added metric sweeping:
Added simple aggregation metrics:
SumMetric,MeanMetric,CatMetric,MinMetric,MaxMetric(#506)Added pairwise submodule with metrics (#553)
pairwise_cosine_similaritypairwise_euclidean_distancepairwise_linear_similaritypairwise_manhattan_distance
[0.6.0] - Changed¶
AveragePrecisionwill now as default output themacroaverage for multilabel and multiclass problems (#477)half,double,floatwill no longer change the dtype of the metric states. Usemetric.set_dtypeinstead (#493)Renamed
AverageMetertoMeanMetric(#506)Changed
is_differentiablefrom property to a constant attribute (#551)ROCandAUROCwill no longer throw an error when either the positive or negative class is missing. Instead return 0 score and give a warning
[0.6.0] - Deprecated¶
Deprecated
functional.self_supervised.embedding_similarityin favour of new pairwise submodule
[0.6.0] - Removed¶
Removed
dtypeproperty (#493)
[0.6.0] - Fixed¶
Fixed bug in
F1withaverage='macro'andignore_index!=None(#495)Fixed bug in
pitby using the returned first result to initialize device and type (#533)Fixed
SSIMmetric using too much memory (#539)Fixed bug where
deviceproperty was not properly update when metric was a child of a module (#542)
[0.5.1] - 2021-08-30¶
[0.5.1] - Added¶
[0.5.1] - Changed¶
Added support for float targets in
nDCGmetric (#437)
[0.5.1] - Removed¶
[0.5.1] - Fixed¶
Fixed ranking of samples in
SpearmanCorrCoefmetric (#448)Fixed bug where compositional metrics where unable to sync because of type mismatch (#454)
Fixed metric hashing (#478)
Fixed
BootStrappermetrics not working on GPU (#462)Fixed the semantic ordering of kernel height and width in
SSIMmetric (#474)
[0.5.0] - 2021-08-09¶
[0.5.0] - Added¶
Added Text-related (NLP) metrics:
Added
MetricTrackerwrapper metric for keeping track of the same metric over multiple epochs (#238)Added other metrics:
Added support in
nDCGmetric for target with values larger than 1 (#349)Added support for negative targets in
nDCGmetric (#378)Added
Noneas reduction option inCosineSimilaritymetric (#400)Allowed passing labels in (n_samples, n_classes) to
AveragePrecision(#386)
[0.5.0] - Changed¶
Moved
psnrandssimfromfunctional.regression.*tofunctional.image.*(#382)Moved
image_gradientfromfunctional.image_gradientstofunctional.image.gradients(#381)Moved
R2Scorefromregression.r2scoretoregression.r2(#371)Pearson metric now only store 6 statistics instead of all predictions and targets (#380)
Use
torch.argmaxinstead oftorch.topkwhenk=1for better performance (#419)Moved check for number of samples in R2 score to support single sample updating (#426)
[0.5.0] - Deprecated¶
[0.5.0] - Removed¶
Removed restriction that
thresholdhas to be in (0,1) range to support logit input ( #351 #401)Removed restriction that
predscould not be bigger thannum_classesto support logit input (#357)Removed module
regression.psnrandregression.ssim(#382):Removed (#379):
function
functional.mean_relative_errornum_thresholdsargument inBinnedPrecisionRecallCurve
[0.5.0] - Fixed¶
Fixed bug where classification metrics with
average='macro'would lead to wrong result if a class was missing (#303)Fixed
weighted,multi-classAUROC computation to allow for 0 observations of some class, as contribution to final AUROC is 0 (#376)Fixed that
_forward_cacheand_computedattributes are also moved to the correct device if metric is moved (#413)Fixed calculation in
IoUmetric when usingignore_indexargument (#328)
[0.4.1] - 2021-07-05¶
[0.4.1] - Changed¶
[0.4.1] - Fixed¶
Fixed DDP by
is_synclogic toMetric(#339)
[0.4.0] - 2021-06-29¶
[0.4.0] - Added¶
Added Image-related metrics:
Added Audio metrics: SNR, SI_SDR, SI_SNR (#292)
Added other metrics:
Added
add_metricsmethod toMetricCollectionfor adding additional metrics after initialization (#221)Added pre-gather reduction in the case of
dist_reduce_fx="cat"to reduce communication cost (#217)Added better error message for
AUROCwhennum_classesis not provided for multiclass input (#244)Added support for unnormalized scores (e.g. logits) in
Accuracy,Precision,Recall,FBeta,F1,StatScore,Hamming,ConfusionMatrixmetrics (#200)Added
squaredargument toMeanSquaredErrorfor computingRMSE(#249)Added
is_differentiableproperty toConfusionMatrix,F1,FBeta,Hamming,Hinge,IOU,MatthewsCorrcoef,Precision,Recall,PrecisionRecallCurve,ROC,StatScores(#253)Added
syncandsync_contextmethods for manually controlling when metric states are synced (#302)
[0.4.0] - Changed¶
Forward cache is reset when
resetmethod is called (#260)Improved per-class metric handling for imbalanced datasets for
precision,recall,precision_recall,fbeta,f1,accuracy, andspecificity(#204)Decorated
torch.jit.unusedtoMetricCollectionforward (#307)Renamed
thresholdsargument to binned metrics for manually controlling the thresholds (#322)
[0.4.0] - Deprecated¶
[0.4.0] - Removed¶
Removed argument
is_multiclass(#319)
[0.4.0] - Fixed¶
[0.3.2] - 2021-05-10¶
[0.3.2] - Added¶
[0.3.2] - Changed¶
[0.3.2] - Removed¶
Removed
numpyas direct dependency (#212)
[0.3.2] - Fixed¶
Fixed auc calculation and add tests (#197)
Fixed loading persisted metric states using
load_state_dict()(#202)Fixed
PSNRnot working withDDP(#214)Fixed metric calculation with unequal batch sizes (#220)
Fixed metric concatenation for list states for zero-dim input (#229)
Fixed numerical instability in
AUROCmetric for large input (#230)
[0.3.1] - 2021-04-21¶
[0.3.0] - 2021-04-20¶
[0.3.0] - Added¶
Added
BootStrapperto easily calculate confidence intervals for metrics (#101)Added Binned metrics (#128)
Added metrics for Information Retrieval ((PL^5032)):
Added other metrics:
Added
average='micro'as an option in AUROC for multilabel problems (#110)Added multilabel support to
ROCmetric (#114)Added
AverageMeterfor ad-hoc averages of values (#138)Added
prefixargument toMetricCollection(#70)Added
__getitem__as metric arithmetic operation (#142)Added property
is_differentiableto metrics and test for differentiability (#154)Added support for
average,ignore_indexandmdmc_averageinAccuracymetric (#166)Added
postfixarg toMetricCollection(#188)
[0.3.0] - Changed¶
Changed
ExplainedVariancefrom storing all preds/targets to tracking 5 statistics (#68)Changed behaviour of
confusionmatrixfor multilabel data to better matchmultilabel_confusion_matrixfrom sklearn (#134)Updated FBeta arguments (#111)
Changed
resetmethod to usedetach.clone()instead ofdeepcopywhen resetting to default (#163)Metrics passed as dict to
MetricCollectionwill now always be in deterministic order (#173)Allowed
MetricCollectionpass metrics as arguments (#176)
[0.3.0] - Deprecated¶
Rename argument
is_multiclass->multiclass(#162)
[0.3.0] - Removed¶
Prune remaining deprecated (#92)
[0.3.0] - Fixed¶
[0.2.0] - 2021-03-12¶
[0.2.0] - Changed¶
[0.2.0] - Removed¶
[0.1.0] - 2021-02-22¶
Added
Accuracymetric now generalizes to Top-k accuracy for (multi-dimensional) multi-class inputs using thetop_kparameter (PL^4838)Added
Accuracymetric now enables the computation of subset accuracy for multi-label or multi-dimensional multi-class inputs with thesubset_accuracyparameter (PL^4838)Added
HammingDistancemetric to compute the hamming distance (loss) (PL^4838)Added
StatScoresmetric to compute the number of true positives, false positives, true negatives and false negatives (PL^4839)Added
R2Scoremetric (PL^5241)Added
MetricCollection(PL^4318)Added
.clone()method to metrics (PL^4318)Added
IoUclass interface (PL^4704)The
RecallandPrecisionmetrics (and their functional counterpartsrecallandprecision) can now be generalized to Recall@K and Precision@K with the use oftop_kparameter (PL^4842)Added compositional metrics (PL^5464)
Added AUC/AUROC class interface (PL^5479)
Added
QuantizationAwareTrainingcallback (PL^5706)Added
ConfusionMatrixclass interface (PL^4348)Added multiclass AUROC metric (PL^4236)
Added
PrecisionRecallCurve, ROC, AveragePrecisionclass metric (PL^4549)Classification metrics overhaul (PL^4837)
Added
F1class metric (PL^4656)Added metrics aggregation in Horovod and fixed early stopping (PL^3775)
Added
persistent(mode)method to metrics, to enable and disable metric states being added tostate_dict(PL^4482)Added unification of regression metrics (PL^4166)
Added persistent flag to
Metric.add_state(PL^4195)Added classification metrics (PL^4043)
Added EMB similarity (PL^3349)
Added SSIM metrics (PL^2671)
Added BLEU metrics (PL^2535)