我正在使用 pytorch 中开箱即用的 VGG-16 网络来预测一些图像索引。我发现对于同一个输入文件,如果我预测多次,我会得到不同的结果。这对我来说似乎违反直觉。一旦预测了权重(因为我使用的是预训练模型),任何步骤都不应该有任何随机性,因此使用相同输入文件的多次运行将返回相同的预测。
这是我的代码:
import torch
import torchvision.models as models
VGG16 = models.vgg16(pretrained=True)
def VGG16_predict(img_path):
transformer = transforms.Compose([transforms.CenterCrop(224),transforms.ToTensor()])
data = transformer(Image.open(img_path))
output = softmax(VGG16(data.unsqueeze(0)), dim=1).argmax().item()
return output # predicted class index
VGG16_predict(image)
Run Code Online (Sandbox Code Playgroud)