脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Pytorch测试神经网络时出现 RuntimeError:的解决方案

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

2021-11-16 10:52漂洋过海的油条 Python

这篇文章主要介绍了Pytorch测试神经网络时出现 RuntimeError:的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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

延伸 · 阅读

精彩推荐