I use adaptive average pooling for resizing if I can / want move resizing step to GPU:
import torch
import torch.nn.functional as F
from torch.autograd import Variable

def resize2d(img, size):
    return (F.adaptive_avg_pool2d(Variable(img,volatile=True), size)).data

img = torch.Tensor(3,256,256).uniform_()
print(img.size())
img = resize2d(img, (224,224))
print(img.size())