网络编程
位置:首页>> 网络编程>> Python编程>> Pytorch测试神经网络时出现 RuntimeError:的解决方案

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

作者:漂洋过海的油条  发布时间:2022-03-28 14:26:47 

标签:Pytorch,神经网络,RuntimeError

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

解决方法:


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

在前,增加


model = nn.DataParallel(model)

就可以了。

比如


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,找到对应的语句

修改前:


net.load_state_dict(torch.load(model_para_path))

修改后:


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

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com