DeepVoltaire/AutoAugment

What is the mean and std of imagenet dataset if using 'autoaugment'?

YongtaoGe opened this issue · 4 comments

What is the mean and std of imagenet dataset if using 'autoaugment'?

It's the same means and stds the model was trained with on ImageNet. For most of the models from torchvision, according to pretrained_models_pytorch:

means = [0.485, 0.456, 0.406]
stds = [0.229, 0.224, 0.225]

Do you mean that the autoaugment would not change the distribution of mean and stds in original imagenet dataset? But as I know, differenet preprocessing ways could lead to different means and stds.

for model_name in __all__:
    input_sizes[model_name] = [3, 224, 224]
    means[model_name] = [0.485, 0.456, 0.406]
    stds[model_name] = [0.229, 0.224, 0.225]

for model_name in ['inceptionv3']:
    input_sizes[model_name] = [3, 299, 299]
    means[model_name] = [0.5, 0.5, 0.5]
    stds[model_name] = [0.5, 0.5, 0.5]

This only matters if you are using a pretrained model. Also, means and stds of the dataset are calculated from the raw images without data augmentation as far as I know. And the values can be chosen quite arbitrarily as you can see from inceptionv3.

Is it normal to use these values to normalize and then the images channels 0 and 2 are transformed to inf, but the channel 1 maintains its values ? (I can't plot the images if I normalize the data with Image Net' mean and std values)