问题描述
简单来说,比如你要加载一个vgg16模型,但是你自己需要的网络结构并不是原本的vgg16网络,可能你删掉某些层,可能你改掉某些层,这时你去加载预训练模型,就会报错,错误原因就是你的模型和原本的模型不匹配。
此时有两种解决方法:
1、重新解析参数的字典,将预训练模型的参数提取出来,然后放在自己的模型中对应的位置
2、直接用原本的vgg16网络去加载预训练模型,然后再修改网络。
具体操作待续吧......
我个人推荐第一种方法。
简单来说,比如你要加载一个vgg16模型,但是你自己需要的网络结构并不是原本的vgg16网络,可能你删掉某些层,可能你改掉某些层,这时你去加载预训练模型,就会报错,错误原因就是你的模型和原本的模型不匹配。
此时有两种解决方法:
1、重新解析参数的字典,将预训练模型的参数提取出来,然后放在自己的模型中对应的位置
2、直接用原本的vgg16网络去加载预训练模型,然后再修改网络。
具体操作待续吧......
我个人推荐第一种方法。