<p>Actually in a original <a href="https://www.cs.unc.edu/~wliu/papers/GoogLeNet.pdf" rel="nofollow noreferrer">Inception</a> paper the autors mention as a data preprocessor the function you provided (one which is zero-centering all channels and resizes it to <code>[-1, 1]</code> interval). As in <a href="https://arxiv.org/abs/1512.00567" rel="nofollow noreferrer">InceptionV3</a> paper no new data transformation is provided I think that you may assume that you should use the following function:</p>

<pre><code>def preprocess_input(x):
    x /= 255.
    x -= 0.5
    x *= 2.
    return x
</code></pre>
Should I substract imagenet pretrained inception_v3 model mean value at inception_v3.py keras?
<pre><code>def preprocess_input(x):
x /= 255.
x -= 0.5
x *= 2.
return x
</code></pre>

<p>&emsp;I am using <strong>keras</strong> inception_v3 imagenet pretrained model(<a href="https://github.com/fchollet/keras/blob/master/keras/applications/inception_v3.py" rel="nofollow noreferrer">inception_v3.py</a>) to finetune on my own dataset.<br>
&emsp;When I want to <strong>subtract the imagenet mean value [123.68, 116.779, 103.939] and reverse axis RGB to BGR</strong> as we often do, I find that the author provided a _preprocess_input()_ function at the end.I am confused about this.  </p>

<p>&emsp; Should I use the provided function <em>preprocess_input()</em> <strong>or</strong> subtract mean value and reverse axis as usual?<br>
&emsp; Thanks lot.</p>