pytorch跑ResNet和vgg16模型准确率相差较大

同一个数据集,ResNet能跑到88%的准确率,而vgg16只能跑到70%左右,是哪里出问题了吗

有差别是很正常的,ResNet是多少层的?
一般而言ResNet的层数比较多的,所以效果也就会好一些。
如果你觉的差别太大的话,也可以不断尝试微调vgg的参数,看看能不能出来一个更好的结果

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7806347
  • 你也可以参考下这篇文章:pytorch实现的Resnet18、VGG16
  • 除此之外, 这篇博客: pytorch 使用预训练模型如resnet、vgg等并修改部分结构中的 小结 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 总结来说,pytorch提供的网络模型还是比较实用的,对于不需要大幅修改的网络结构只要直接调用再局部修改就可以,满足一了一些简单的深度学习需求场景,可以不需要自己重新写一遍网路结构了。

    在修改方面,基于pytorch模型的定义方式,我们只要知道其模型结构,这一点可以直接查找pytorch这部分的源码,了解到成员变量的名字,如果是Sequential,可以再通过_modules这个字典查找,都将能够较容易的找到被修改的那一层,直接替换成我们需要的结构即可。当然,替换后与训练的权重就不见了,取而代之的是随机初始化权重。