Pytorch测试神经网络时出现 RuntimeError:的解决方案

时间:2022-10-30 20:54:31

Pytorch测试神经网络时出现“RuntimeError: Error(s) in loading state_dict for Net”

解决方法:

?
1
load_state_dict(torch.load('net.pth')

在前,增加

?
1
model = nn.DataParallel(model)

就可以了。

比如

?
1
2
3
4
net = NET()
net.cuda()
net = nn.DataParallel(net)
net.load_state_dict(torch.load('net.pth')

补充:解决RuntimeError: Error(s) in loading state_dict for XXXX

Pytorch测试神经网络时出现 RuntimeError:的解决方案

在运行代码时遇到了这个错误,显示错误对应代码中的state_dict,找到对应的语句

修改前:

?
1
net.load_state_dict(torch.load(model_para_path))

修改后:

?
1
net.load_state_dict(torch.load(model_para_path),False)

Pytorch测试神经网络时出现 RuntimeError:的解决方案

我遇到的问题得到解决。经查阅资料,我理解的原因是state_dict的四个参数之一:_module 可以用来判断模型当前运行环境与之前是否相同,在默认情况下是True(纯属个人理解,勿喷)

补充:使用Pytorch训练模型出现RuntimeError: CUDA out of memory错误解决

训练:

由于GPU显存资源有限,训练输入的batchsize不能过大,过大会导致out of memory错误。

解决方案:

将batchsize减小,甚至是为1

测试时出现此问题解决方案:

在测试代码之前使用 with torch.no_grad():

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/weixin_40533355/article/details/93158700