Resnet18 inference returning extremely low probabilities

I’m following the PyTorch guide for using a pre-trained Resnet18 for simple inference. I’m trying to use a png image of a car, but when my model seems to predict very odd classes, with extremely low probabilities. Since nearly all of my code is simply from the guide, I’m a bit confused as to why I’m getting these predictions - the only thing I’ve changed is related to loading the initial image, so I assume I have made some errors there. Here’s what the top five classes and their probabilities I’m getting:

bucket 0.0083833709359169
hook 0.007907437160611153
plunger 0.006670754868537188
ashcan 0.006278147920966148
water jug 0.00571846729144454

I’ve tried using other images as well, yet for some reason bucket remains the top class (the probability isn’t the exact same, but is still quite small). Here’s the code I’m using:

import torch
import torchvision.models as models
from PIL import Image
import torchvision.transforms as transforms

model = models.resnet18(pretrained=True)

image = Image.open('car.png').convert('RGB')

preprocess = transforms.Compose([
    transforms.Resize(256),
    transforms.CenterCrop(224),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])

input_tensor = preprocess(image)
input_batch = input_tensor.unsqueeze(0) 

with torch.no_grad():
    output = model(input_batch)

probabilities = torch.nn.functional.softmax(output[0], dim=0)

with open("imagenet_classes.txt", "r") as f:
    categories = [s.strip() for s in f.readlines()]

# Show top categories per image
top5_prob, top5_catid = torch.topk(probabilities, 5)
for i in range(top5_prob.size(0)):
    print(categories[top5_catid[i]], top5_prob[i].item())