计算神经网络测试精度的错误

我尝试训练我的神经网络,然后评估它的测试准确性。我正在使用本文底部的代码进行训练。事实上,对于其他神经网络,我可以毫无问题地使用我的代码评估测试准确性。然而,对于这个神经网络(我根据神经网络论文的描述正确构建),我无法正确评估测试精度,它给我下面的回溯。所以也许我的前传有问题?

模型代码在这里,包括前向传递


import torch

import torch.nn as nn

F = nn.functional

__all__ = ['cifar10_deepnet', 'cifar100_deepnet']


class VGG(nn.Module):

    def __init__(self, num_classes=10):

        super(VGG, self).__init__()

        self.features = nn.Sequential(

            nn.Conv2d(3, 64, kernel_size=3, bias=False),

            nn.BatchNorm2d(64),

            nn.ReLU(inplace=True),

            nn.Dropout(0.3),

            nn.Conv2d(64, 64, kernel_size=3, padding = 1, bias=False),

            nn.BatchNorm2d(64),

            nn.ReLU(inplace=True),

            nn.MaxPool2d(kernel_size=2, stride=2),


            nn.Conv2d(64, 128, kernel_size=3, padding = 1, bias=False),

            nn.BatchNorm2d(128),

            nn.ReLU(inplace=True),

            nn.Dropout(0.4),

            nn.Conv2d(128, 128, kernel_size=3, padding = 1, bias=False),

            nn.BatchNorm2d(128),

            nn.ReLU(inplace=True),

            nn.MaxPool2d(kernel_size=2, stride=2),


            nn.Conv2d(128, 256, kernel_size=3, padding = 1, bias=False),

            nn.BatchNorm2d(256),

            nn.ReLU(inplace=True),

            nn.Dropout(0.4),

            nn.Conv2d(256, 256, kernel_size=3, padding = 1, bias=False),

            nn.BatchNorm2d(256),

            nn.ReLU(inplace=True),

            nn.Dropout(0.4),

            nn.Conv2d(256, 256, kernel_size=3, padding = 1, bias=False),

            nn.BatchNorm2d(256),

            nn.ReLU(inplace=True),

            nn.MaxPool2d(kernel_size=2, stride=2),


不负相思意
浏览 104回答 1
1回答

当年话下

您正在尝试加载属于另一个模型的状态字典。该错误表明您的模型是 class AlexNet。RunTimeError: Error(s) in loading state_dict for AlexNet:但是您尝试加载的状态字典来自VGG您发布的内容,它与AlexNet.您需要使用之前保存过状态指令的同一模型。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python