Fixes 1.0 crop reproducibility issue.

transforms.CenterCrop automatically converts image size into a tuple, but transforms.Resize does not.
When running models on ImageNet at 384x384 with 1.0 crop_pct, this will result in transforms.Resize(384).
Some methods (i.e. ConvNeXt, Swin) implement this with transforms.Resize((384, 384)).
As a result their reported scores on ImageNet at 384 are not reproducible with timm's validation script.
pull/1383/head
alih 3 years ago
parent 7430a85d07
commit e91c2181b3

@ -145,6 +145,7 @@ def transforms_imagenet_eval(
scale_size = tuple([int(x / crop_pct) for x in img_size]) scale_size = tuple([int(x / crop_pct) for x in img_size])
else: else:
scale_size = int(math.floor(img_size / crop_pct)) scale_size = int(math.floor(img_size / crop_pct))
scale_size = (scale_size, scale_size)
tfl = [ tfl = [
transforms.Resize(scale_size, interpolation=str_to_interp_mode(interpolation)), transforms.Resize(scale_size, interpolation=str_to_interp_mode(interpolation)),

Loading…
Cancel
Save