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.
[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 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.manhatten
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
[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_manhatten_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)