大概的错误长下面这样:
问题出现的原因:
很明显,我就是犯了第一种错误。
网上的修改方法:
我觉得按道理哈,确实,蓝色部分应该是可以把问题解决了的。但是我没有解决,因为我犯了另外一个错误。(大家看了后面可能会理解我为啥这样说,因为我另起了一个文件但我没有注意到这个问题)关于上图标的红色的那个解决方案,完全不建议使用,很拉跨!不要用!治标不治本,就是用来糊弄的!
其实我的错误就是原因2:
我在把我修改的模型训练完了之后,用了原来的的模型进行加载。其实单说大家可能不会理解,因为我改了一下午才悟出来,哎。。。
用代码来理解一下吧:
model1是原本模型的,这个模型训练完成后会生成一个pth1,同理,model2训练完会生成一个pth2。
在训练阶段呢,这两个文件都是可以正常训练的,这时候,如果你不对你的测试脚本做任何更改,那么当你用你的测试脚本去测试你训练的模型效果是否好时,只有pth1能正常加载进去,而pth2或许大概率是会出错的。
那么如何更改呢:
我们先看一下这一部分的代码:
这几行的代码就是在加载你的pth。我们可以看到在第21行的那个Network,这个Network指的是你pth1的Network,所以当你在加载你的pth2时,会出现参数不匹配的情况!so......
我们只需将pth2的Network导进来:
ok。