Pretrained model preform wrong

hi, I used a pre-trained model(res101) from official model zoo, and I input a image to test if every thing works well.

I did the necessary preprocessing, and I found the result was totally wrong. Can any one help me??

# load model
resnet101 = models.resnet101(pretrained=True)

# img_path : VOCdevkit2007/VOC2007/JPEGImages/000007.jpg
img = Image.open(img_path)

"""
1. resize to 224, 224
2. normalize to [0,1]
3. normalize by specified mean and std
"""
transform = transforms.Compose([
        transforms.Scale((224, 224)),
        transforms.ToTensor(),
        transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
])

img = transform(img)

out = resnet101(Variable(img).unsqueeze(0)).data


# load imagenet classes labels
import json
class_idx = json.load(open("imagenet_class_index.json"))
idx2label = [class_idx[str(k)][1] for k in range(len(class_idx))]

# get the top 10 result
for idx in out[0].sort()[1][-10:]:
    print(idx2label[idx])

and the result is

paper_towel
sunglass
ladle
crutch
cowboy_hat
ashcan
pole
hook
plunger
bucket

the result is completely wrong, I think it should be a car or something???

and this is my input image

finally, I got it. use model.eval() will help:joy: