Hi folks, a while ago I built myself a translation of the torchvision.transforms library that operates over tensors.
To substitute PIL (or accimage) resize() i use nn.interpolate(), which at first sight works (in -linear) mode but with slight different results on high contrast pixel differences, no difference in mean, but different std.
On -cubic mode its a bit stranger, min max go beyond original value range., e.g instead of 0-1 range I will get something like -0.1 to 1.15
Is this particularly important, no, data can still be trained. But benchmarking results are different.
Why I did this, utilizing tensor augmentation is of value, as demonstrated recently in Nvidia’s ADAStyleGAN
I am curious why the differences. I dug into the code and while PIL is easy to read, torch requires a bit more time devoted to the issue.
I got same results in cpu and cuda., both equally different from pil and accimage.