首页 > 解决方案 > TypeError: 'dict' 对象在加载和测试 PyTorch 模型时不可调用

问题描述

我正在尝试加载和测试我最终训练的 PyTorch 模型,但出现以下错误。我究竟做错了什么?

原始代码:

class_names = ['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']

model = torch.load('Final_model.pth.tar')

normalize = transforms.Normalize(mean=[0.4914, 0.4824, 0.4467],std=[0.2471, 0.2435, 0.2616])
transform = transforms.Compose([transforms.ToTensor(),normalize])
val_set = datasets.CIFAR10('../data', train=False,download=True,transform=transform)

for i in range(48,64):
    plt.subplot(4,4,i+1-48)
    plt.subplots_adjust(hspace=1,wspace=1)
    plt.xticks([])
    plt.yticks([])
    plt.imshow(val_set.data[i])
    out = model(transform(val_set.data[i]).view(1,3,32,32))[0].tolist()
    plt.xlabel(class_names[out.index(max(out))])

错误:

    TypeError                                 Traceback (most recent call last)
<ipython-input-48-8554fc617196> in <module>()
     18     plt.yticks([])
     19     plt.imshow(val_set.data[i])
---> 20     out = model(transform(val_set.data[i]).view(1,3,32,32))[0].tolist()
     21     plt.xlabel(class_names[out.index(max(out))])
     22 

TypeError: 'dict' object is not callable

标签: pythonpython-3.xdictionarydeep-learningpytorch

解决方案


推荐阅读