Pytorch测试神经网络时出现 RuntimeError:的解决方案
短信预约 -IT技能 免费直播动态提醒
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
在运行代码时遇到了这个错误,显示错误对应代码中的state_dict,找到对应的语句
修改前:
net.load_state_dict(torch.load(model_para_path))
修改后:
net.load_state_dict(torch.load(model_para_path),False)
我遇到的问题得到解决。经查阅资料,我理解的原因是state_dict的四个参数之一:_module 可以用来判断模型当前运行环境与之前是否相同,在默认情况下是True(纯属个人理解,勿喷)
补充:使用Pytorch训练模型出现RuntimeError: CUDA out of memory错误解决
训练:
由于GPU显存资源有限,训练输入的batchsize不能过大,过大会导致out of memory错误。
解决方案:
将batchsize减小,甚至是为1
测试时出现此问题解决方案:
在测试代码之前使用 with torch.no_grad():
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341