That’s most likely the error.
The VGG architecture expects an input of shape [batch_size, 3, 224, 224], which should be taken care of in your process_image method.
However, it looks like you are passing the wrong array to torch.from_numpy:
# Change this
image_tensor = torch.from_numpy(img).type(torch.cuda.FloatTensor)
# to
image_tensor = torch.from_numpy(image).type(torch.cuda.FloatTensor)

and try to run it again.