请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

运行错误

在这里输入代码import torch
import torchvision.datasets as dataset
import torchvision.transforms as transforms
import torch.utils.data as data_utils


# net
class CNN(torch.nn.Module):
    def __init__(self):
        super(CNN, self).__init__()
        self.conv = torch.nn.Sequential(
            torch.nn.Conv2d(1, 32, kernel_size=5, padding=2),
            torch.nn.BatchNorm2d(32),
            torch.nn.ReLU(),
            torch.nn.MaxPool2d(2)
        )

        self.fc = torch.nn.Linear(14 * 14 * 32, 10)

    def forward(self, x):
        out = self.conv(x)
        out = out.view(out.size()[0], -1)
        out = self.fc(out)
        return out


# data
test_data = dataset.MNIST(root="mnist",
                          train=False,
                          transform=transforms.ToTensor(),
                          download=True)
# batchsize
test_loader = data_utils.DataLoader(dataset=test_data,
                                    batch_size=64,
                                    shuffle=True)
cnn = torch.load("model/model1.pkl")
# test
loss_test = 0
accuracy = 0
for i, (images, labels) in enumerate(test_loader):
    outputs = cnn(images)
    _, pred = outputs.max(1)
    accuracy += (pred == labels).sum().item()
accuracy = accuracy / len(test_data)
print(accuracy)

D:\ana\envs\PyTorch\python.exe D:/pytorch/inference.py
Traceback (most recent call last):
File “D:/pytorch/inference.py”, line 41, in
outputs = cnn(images)
TypeError: ‘collections.OrderedDict’ object is not callable

进程已结束,退出代码为 1

出现了这个错误是怎么回事

正在回答 回答被采纳积分+3

1回答

会写代码的好厨师 2021-12-01 23:24:46

看不到具体代码的保存位置,可以截图报错日志,另外确认下python版本是否和课程中的一致。3.7版本

0 回复 有任何疑惑可以回复我~
  • 提问者 慕UI6461211 #1
    是3.8版本,具体错误我又更新了提问
    回复 有任何疑惑可以回复我~ 2021-12-02 09:39:54
  • 好的,版本尽量用3.7
    回复 有任何疑惑可以回复我~ 2021-12-14 15:24:31
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信