ResNet50预训练权重新旧版本的区别resnet50(pretrained)和resnet50(weights=models.ResNet50_Weights.DEFAULT)

现象

复现度量学习的时候,前后复现的精度对不上,才发现是ResNet50预训练权重的问题

原因

2.1 旧版ResNet50预训练权重

旧版:

self.model = resnet50(pretrained=True)

对于旧版,会加载 IMAGENET1K_V1 的权重(早期训练的版本)

同样的代码,第一次Epoch为0.4758
image

2.1 新版ResNet50预训练权重

新版

from torchvision import models
self.model = resnet50(weights=models.ResNet50_Weights.DEFAULT)

ResNet50_Weights.IMAGENET1K_V2
https://download.pytorch.org/models/resnet50-11ad3fa6.pth
对于新版,默认加载的是 IMAGENET1K_V2(改进版,精度更高)。

同样的代码,第一次Epoch就达到了0.5192
image

posted @ 2025-09-20 15:07  JaxonYe  阅读(22)  评论(0)    收藏  举报