同一个数据集,ResNet能跑到88%的准确率,而vgg16只能跑到70%左右,是哪里出问题了吗
有差别是很正常的,ResNet是多少层的?
一般而言ResNet的层数比较多的,所以效果也就会好一些。
如果你觉的差别太大的话,也可以不断尝试微调vgg的参数,看看能不能出来一个更好的结果
总结来说,pytorch提供的网络模型还是比较实用的,对于不需要大幅修改的网络结构只要直接调用再局部修改就可以,满足一了一些简单的深度学习需求场景,可以不需要自己重新写一遍网路结构了。
在修改方面,基于pytorch模型的定义方式,我们只要知道其模型结构,这一点可以直接查找pytorch这部分的源码,了解到成员变量的名字,如果是Sequential,可以再通过_modules这个字典查找,都将能够较容易的找到被修改的那一层,直接替换成我们需要的结构即可。当然,替换后与训练的权重就不见了,取而代之的是随机初始化权重。