【发布时间】:2019-09-23 23:18:38
【问题描述】:
当使用 torchvision.models 模块加载预训练的 VGG 网络并使用它对任意 RGB 图像进行分类时,网络的输出会因调用而异。为什么会这样?据我了解,VGG 前向传递的任何部分都不应该是不确定的。
这是一个 MCVE:
import torch
from torchvision.models import vgg16
vgg = vgg16(pretrained=True)
img = torch.randn(1, 3, 256, 256)
torch.all(torch.eq(vgg(img), vgg(img))) # result is 0, but why?
【问题讨论】:
-
(1) 尝试
eval模式:vgg.eval()。 (2) 尝试使用torch.allclose进行比较 - 由于浮点问题,输出可能不相同但彼此非常接近。
标签: python deep-learning computer-vision pytorch torchvision