AttributeError: Can't get attribute 'CNN' on <module '__main__' from XXX
这个错误是由于保存模型中,有CNN类的序列化导致的,我在网上也看了好多教程,方法各种各样(但有的不可行),总结一下:
(本人没有系统学过python,属于边用边学,有错误的话欢迎指正,序列化的话我在Java中学过,但相信原理都是相通的)
先说一下,我出现这个原因的时候,CNN构建的写法:
1、我在cnn_model.py文件中构建了一个CNN类,也就是卷积神经网络的架构
2、在类CNN的下面,我实体化了一个model = CNN(xxxx),然后利用数据集进行训练和测试
3、接下来我想弄出一个界面,我在gui.py文件中写出来了界面,但是我发现每次运行这个界面就需要训练一次模型,因此我想保存下来这个模型
4、我在cnn_model.py中使用torch.save()保存整个模型,然后在gui.py中用torch.load()加载
很好!!!Bug产生了