cutcutcodec.core.analysis.video.quality.psnr_torch

Compute a differenciable batched torch psnr.

Functions

psnr_torch(im1, im2[, weights, threads])

Pure torch implementation of cutcutcodec.core.analysis.video.quality.psnr().

Details

cutcutcodec.core.analysis.video.quality.psnr_torch.psnr_torch(im1: Tensor, im2: Tensor, weights: Iterable[float] = None, threads: int = 0) Tensor[source]

Pure torch implementation of cutcutcodec.core.analysis.video.quality.psnr().

Examples

>>> import torch
>>> from cutcutcodec.core.analysis.video.quality.psnr_torch import psnr_torch
>>> _ = torch.manual_seed(0)
>>> im1 = torch.rand(2, 4, 720, 1080, 3)
>>> im2 = 0.8 * im1 + 0.2 * torch.rand(2, 4, 720, 1080, 3)
>>> psnr_torch(im1[0, 0], im1[0, 0])
tensor(100.)
>>> psnr_torch(im1, im2)
tensor([[21.7520, 21.7600, 21.7583, 21.7554],
        [21.7615, 21.7583, 21.7569, 21.7648]])
>>>