Why is input preprocessing in VGG16 in Keras not 1/255.0
The pre-trained weights that are available on Keras are trained with the preprocessing steps defined in preprocess_input() function that is made available for each network architecture (VGG16, InceptionV3, etc).

For example 

from keras.applications.vgg16 import preprocess_input

If you are using the weights that comes with keras for fine tuning, then you should use the corresponding preprocess_input() function for the network. It can be different from the original preprocessing steps mentioned in the paper. 

from keras.applications.vgg16 import VGG16
model = VGG16(weights='imagenet', include_top=False)


If you want to stick to the original preprocessing steps, you can find pre-trained weights that is trained with the original preprocessing steps instead of using the weights that comes with Keras. 

Maybe at the time of writing the blog post the weights were trained with different preprocessing steps. 

Checkout this github issue to learn more.