peaksignalnoiseratio
Metric
PeakSignalNoiseRatiofromtorchmetrics(torchmetrics.PeakSignalNoiseRatio)
When to invoke this skill
The user has predictions + ground truth and asks to evaluate with PeakSignalNoiseRatio, or
mentions torchmetrics.PeakSignalNoiseRatio directly, or wants the standard torchmetrics implementation.
Reference signature
from torchmetrics import PeakSignalNoiseRatio
# _PeakSignalNoiseRatio(data_range: Union[float, tuple[float, float]] = 3.0, base: float = 10.0, reduction: Literal['elementwise_mean', 'sum', 'none', None] = 'elementwise_mean', dim: Union[int, tuple[int, ...], NoneType] = None, **kwargs: Any) -> None
Library docstring
Wrapper for deprecated import.
>>> from torch import tensor
>>> psnr = _PeakSignalNoiseRatio()
>>> preds = tensor([[0.0, 1.0], [2.0, 3.0]])
>>> target = tensor([[3.0, 2.0], [1.0, 0.0]])
>>> psnr(preds, target)
tensor(2.5527)
Quick recipe
import torchmetrics as _m
score = _m.PeakSignalNoiseRatio(y_true, y_pred)
Don'ts
- Don't reimplement when the library version handles edge cases (NaN, ties, empty inputs) better than a hand-rolled formula.
- Always check the library version's argument order — sklearn is
(y_true, y_pred)while torchmetrics is(preds, target).