q123456785 2022-06-10 15:44 采纳率: 0%
浏览 13
已结题

深度学习,两种模型保存加载后测试集准确度却不同

深度学习中,本人将训练好的模型,通过保存完整模型和只保存模型参数两种方式对模型进行了保存,在分别加载两种模型,并输入同一测试集后得到的准确度却相差较大,该怎么解决?

#模型保存
    torch.save(net, 'net.pth')
    torch.save(net.state_dict(), 'network_params.pth')
#加载
net1 = torch.load('net.pth')
output1 = evaluate_accuracy(test_data, net1)

net2 = Net()
net2.load_state_dict(torch.load('network_params.pth'),False)
output2 = evaluate_accuracy(test_data, net2)

#准确度评估
def evaluate_accuracy(test_data, net):
    net.eval()
    test_acc_sum= 0.0
    n = 0
    with torch.no_grad():
        for x,y in test_data:
            x = torch.unsqueeze(x, dim=1)
            x = torch.unsqueeze(x, dim=1)
            test_acc_sum += (net(x).argmax(dim=1) == y.argmax(dim=1)).sum().item()
            n += y.shape[0]
    return test_acc_sum  / n
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 6月18日
    • 创建了问题 6月10日

    悬赏问题

    • ¥15 前端echarts坐标轴问题
    • ¥15 CMFCPropertyPage
    • ¥15 ad5933的I2C
    • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
    • ¥15 数学建模求思路及代码
    • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题
    • ¥15 谁会P4语言啊,我想请教一下
    • ¥15 这个怎么改成直流激励源给加热电阻提供5a电流呀
    • ¥50 求解vmware的网络模式问题 别拿AI回答
    • ¥24 EFS加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳