I cannot seem to backtrack from their libraries import to find the source code for the actual code of bilinear interpolation for image resize.
torchvision.transforms.resize, I end up at
torch.nn.functional where the
interpolate function is imported from: (pytorch/functional.py at master · pytorch/pytorch · GitHub).
From here, I am lost. For bilinear interpolation (
line 3722), it calls
torch._C._nn.upsample_bilinear2d(). I believe this is the function that is typically called when someone does image resizing (default mode) in PyTorch.
Searching the code for
torch._C._nn.upsample_bilinear2d(), I reach a dead-end here: (pytorch/_nn.pyi.in at master · pytorch/pytorch · GitHub)
The main reason for my inquiry is that I want to follow PyTorch bilinear interpolation (resizing image) algorithm for my CUDA code, I am currently writing a CUDA code that does batch multi-crop and resizing simultaneously which is not possible with PyTorch GPU code as you can only crop images sequentially and resize the crop sequentially too (2 individual serial process). A lot of bilinear interpolation for images seems to differ in their implementation.