我有一个关于如何重新加载不同批量大小的pytorch模型的问题 . 在培训中,我的批量大小是64,但在推断中,我希望批量大小为1(逐个提供数据) . 这是我用来保存和恢复模型的代码:

torch.save(agent.qnetwork_local.state_dict(), './ckpt/checkpoint.pth')
saved_model = QNetwork(state_size=37, action_size=4, seed=0)
saved_model.load_state_dict(torch.load('./ckpt/checkpoint.pth'))

运行推理模型时出现此错误:

RuntimeError: size mismatch, m1: [37 x 1], m2: [37 x 64] at /Users/soumith/code/builder/wheel/pytorch-src/aten/src/TH/generic/THTensorMath.cpp:2070

此错误表示模型的输入必须为37x64,其中37是数据维度,64是培训批量大小 . 但测试输入为37x1,这意味着数据维度为37,批量大小为1 .

在重装pytorch模型中是否有不同批量大小的解决方案?非常感谢你 .