pytorch环境1.7
以前的时候一直使用torch.save(model.state_dict(), 'mymodel.pth')来保存模型,不过这种保存形式只是保存了模型的权重而言,同时在模型加载的时候需要对模型实例化后才能加载权重。
于是我便利用torch.save(model, 'mymodel.pth')将模型的图结构和权重一起保存,这样在模型加载的时候就可以直接加载了,但发现了一个问题:
当我用这种方式保存pth文件后,在当前路径下可以正常加载,但如果我将这个模型文件pth拿到其他地方去,就会报错,比如报以下错误:
model = torch.load('whole_model.pth')
ModuleNotFoundError: No module named 'nets‘
报错中的nets是我以前存放定义的model的类文件路径。那是不是这种保存方式是将原来工程中的nets下所有相关的属性都保存了??那如果遇到这种问题应该怎么做呢?因为我是想训练完以后的模型,未来可以在其他地方进行一个模型的部署的。