Skip to content

Releases: Lightning-AI/torchmetrics

More metrics

12 Nov 19:29
Compare
Choose a tag to compare

The latest release of TorchMetrics introduces several significant enhancements and new features that will greatly benefit users across various domains. This update includes the addition of new metrics and methods that enhance the library's functionality and usability.

One of the key additions is the NISQA audio metric, which provides advanced capabilities for evaluating audio quality. In the classification domain, the new LogAUC and NegativePredictiveValue metrics offer improved tools for assessing model performance, particularly in imbalanced datasets. For regression tasks, the NormalizedRootMeanSquaredError metric has been introduced, providing a normalized measure of prediction accuracy that is less sensitive to outliers.

In the field of image segmentation, the new Dice metric enhances the evaluation of segmentation models by providing a robust measure of overlap between predicted and ground truth masks. Additionally, the merge_state method has been added to the Metric class, allowing for more efficient state management and aggregation across multiple devices or processes.

Furthermore, this release includes support for the propagation of the autograd graph in Distributed Data-Parallel (DDP) settings, enabling more efficient and scalable training of models across multiple GPUs. These enhancements collectively make TorchMetrics a more powerful and versatile tool for machine learning practitioners, enabling more accurate and efficient model evaluation across a wide range of applications.

[1.6.0] - 2024-11-12

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_state to Metric (#2786)
  • Added support for propagation of the autograd graph in DDP setting (#2754)

Changed

  • Changed naming and input order arguments in KLDivergence (#2800)

Deprecated

  • Deprecated Dice from classification metrics (#2725)

Removed

  • Changed minimum supported Pytorch version to 2.0 (#2671)
  • Dropped support for Python 3.8 (#2827)
  • Removed num_outputs in R2Score (#2800)

Fixed

  • Fixed segmentation Dice + GeneralizedDice for 2d index tensors (#2832)
  • Fixed mixed results of rouge_score with accumulate='best' (#2830)

Key Contributors

@Borda, @cw-tan, @philgzl, @rittik9, @SkafteNicki

New Contributors since 1.5.0

Full Changelog: v1.5.0...v1.6.0

Minor patch release

08 Nov 10:35
Compare
Choose a tag to compare

[1.5.2] - 2024-11-07

Changed

  • Re-adding numpy 2+ support (#2804)

Fixed

  • Fixed iou scores in detection for either empty predictions/targets leading to wrong scores (#2805)
  • Fixed MetricCollection compatibility with torch.jit.script (#2813)
  • Fixed assert in PIT (#2811)
  • Patched np.Inf for numpy 2.0+ (#2826)

Key Contributors

@adamjstewart, @Borda, @SkafteNicki, @StalkerShurik, @yurithefury

If we forgot someone due to not matching commit email with GitHub account, let us know :]


Full Changelog: v1.5.1...v1.5.2

Minor compatibility patch

23 Oct 07:05
Compare
Choose a tag to compare

[1.5.1] - 2024-10-22

Fixed

  • Changing _modules dict type in Pytorch 2.5 preventing to fail collections metrics (#2793)

Key Contributors

@bfolie

If we forgot someone due to not matching commit email with GitHub account, let us know :]


Full Changelog: v1.5.0...v1.5.1

Shape metric

18 Oct 19:35
Compare
Choose a tag to compare

Shape metrics are quantitative methods used to assess and compare the geometric properties of objects, often in datasets that represent shapes. One such metric is the Procrustes Disparity, which measures the sum of the squared differences between two datasets after applying a Procrustes transformation. This transformation involves scaling, rotating, and translating the datasets to achieve optimal alignment. The Procrustes Disparity is particularly useful when comparing datasets that are similar in structure but not perfectly aligned, allowing for more meaningful comparison by minimizing differences due to orientation or size.

[1.5.0] - 2024-10-18

Added

  • Added segmentation metric HausdorffDistance (#2122)
  • Added audio metric DNSMOS (#2525)
  • Added shape metric ProcrustesDistance (#2723)
  • Added MetricInputTransformer wrapper (#2392)
  • Added input_format argument to segmentation metrics (#2572)
  • Added multi-output support for MAE metric (#2605)
  • Added truncation argument to BERTScore (#2776)

Changed

  • Tracker higher is better integration (#2649)
  • Updated InfoLM class to dynamically set higher_is_better (#2674)

Deprecated

  • Deprecated num_outputs in R2Score (#2705)

Fixed

  • Fixed corner case in IoU metric for single empty prediction tensors (#2780)
  • Fixed PSNR calculation for integer type input images (#2788)

Key Contributors

@Astraightrain, @grahamannett, @lgienapp, @matsumotosan, @quancs, @SkafteNicki

New Contributors since 1.4.0

Full Changelog: v1.4.0...v1.5.0

Minor patch release

10 Oct 12:04
Compare
Choose a tag to compare

[1.4.3] - 2024-10-10

Fixed

  • Fixed for Pearson changes inputs (#2765)
  • Fixed bug in PESQ metric where NoUtterancesError prevented calculating on a batch of data (#2753)
  • Fixed corner case in MatthewsCorrCoef (#2743)

Key Contributors

@Borda, @SkafteNicki, @veera-puthiran-14082

If we forgot someone due to not matching commit email with GitHub account, let us know :]


Full Changelog: v1.4.2...v1.4.3

Minor patch release

13 Sep 20:01
Compare
Choose a tag to compare

[1.4.2] - 2022-09-12

Added

  • Re-adding Chrf implementation (#2701)

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/postfix works in MultitaskWrapper (#2722)
  • Fixed flakiness in tests related to torch.unique with dim=None (#2650)

Key Contributors

@Borda, @petertheprocess, @rittik9, @SkafteNicki, @vkinakh

If we forgot someone due to not matching commit email with GitHub account, let us know :]


Full Changelog: v1.4.1...v1.4.2

Minor patch release

03 Aug 11:32
Compare
Choose a tag to compare

[1.4.1] - 2024-08-02

Changed

  • Calculate the text color of ConfusionMatrix plot based on luminance (#2590)
  • Updated _safe_divide to allow Accuracy to run on the GPU (#2640)
  • Improved better error messages for intersection detection metrics for wrong user input (#2577)

Removed

  • Dropped Chrf implementation due to licensing issues with the upstream package (#2668)

Fixed

  • Fixed bug in MetricCollection when using compute groups and compute is called more than once (#2571)
  • Fixed class order of panoptic_quality(..., return_per_class=True) output (#2548)
  • Fixed BootstrapWrapper not being reset correctly (#2574)
  • Fixed integration between ClasswiseWrapper and MetricCollection with custom _filter_kwargs method (#2575)
  • Fixed BertScore calculation: pred target misalignment (#2347)
  • Fixed _cumsum helper function in multi-gpu (#2636)
  • Fixed bug in MeanAveragePrecision.coco_to_tm (#2588)
  • Fixed missed f-strings in exceptions/warnings (#2667)

Key Contributors

@Borda, @gxy-gxy, @i-aki-y, @ndrwrbgs, @relativityhd, @SkafteNicki

If we forgot someone due to not matching commit email with GitHub account, let us know :]


Full Changelog: v1.4.0...v1.4.1

Minor dependency correction

15 May 11:24
Compare
Choose a tag to compare

Metrics for segmentation

06 May 09:20
Compare
Choose a tag to compare

In Torchmetrics v1.4, we are happy to introduce a new domain of metrics to the library: segmentation metrics. Segmentation metrics are used to evaluate how well segmentation algorithms are performing, e.g., algorithms that take in an image and pixel-by-pixel decide what kind of object it is. These kind of algorithms are necessary in applications such as self driven cars. Segmentations are closely related to classification metrics, but for now, in Torchmetrics, expect the input to be formatted differently; see the documentation for more info. For now, MeanIoU and GeneralizedDiceScore have been added to the subpackage, with many more to follow in upcoming releases of Torchmetrics. We are happy to receive any feedback on metrics to add in the future or the user interface for the new segmentation metrics.

Torchmetrics v1.3 adds new metrics to the classification and image subpackage and has multiple bug fixes and other quality-of-life improvements. We refer to the changelog for the complete list of changes.

[1.4.0] - 2024-05-03

Added

  • Added SensitivityAtSpecificity metric to classification subpackage (#2217)
  • Added QualityWithNoReference metric to image subpackage (#2288)
  • Added a new segmentation metric:
  • Added support for calculating segmentation quality and recognition quality in PanopticQuality metric (#2381)
  • Added pretty-errors for improving error prints (#2431)
  • Added support for torch.float weighted networks for FID and KID calculations (#2483)
  • Added zero_division argument to selected classification metrics (#2198)

Changed

  • Made __getattr__ and __setattr__ of ClasswiseWrapper more general (#2424)

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 ERGAS metric (#2498)
  • Fixed BootStrapper wrapper not working with kwargs provided argument (#2503)
  • Fixed warnings being suppressed in MeanAveragePrecision when requested (#2501)
  • Fixed corner-case in binary_average_precision when only negative samples are provided (#2507)

Key Contributors

@baskrahmer, @Borda, @ChristophReich1996, @daniel-code, @furkan-celik, @i-aki-y, @jlcsilva, @NielsRogge, @oguz-hanoglu, @SkafteNicki, @ywchan2005

New Contributors since 1.3.0

If we forgot someone due to not matching commit email with GitHub account, let us know :]


Full Changelog: v1.3.0...v1.4.0

Minor patch release

18 Mar 12:39
Compare
Choose a tag to compare

[1.3.2] - 2024-03-18

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>1 and average="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.plot methods (#2437)

Full Changelog: v1.3.1...v1.3.2

Key Contributors

@Borda, @SkafteNicki

If we forgot someone due to not matching commit email with GitHub account, let us know :]