您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

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

51自学网 2021-10-30 22:37:08
  python
这篇教程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

在运行代码时遇到了这个错误,显示错误对应代码中的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():

以上为个人经验,希望能给大家一个参考,也希望大家多多支持51zixue.net。


Python实现地图可视化folium完整过程
解决pytorch trainloader遇到的多进程问题
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。