tf.keras.applications.imagenet_utils.preprocess_input

Preprocesses a tensor or Numpy array encoding a batch of images.

Usage example with applications.MobileNet:

i = tf.keras.layers.Input([None, None, 3], dtype = tf.uint8)
x = tf.cast(i, tf.float32)
x = tf.keras.applications.mobilenet.preprocess_input(x)
core = tf.keras.applications.MobileNet()
x = core(x)
model = tf.keras.Model(inputs=[i], outputs=[x])

image = tf.image.decode_png(tf.io.read_file('file.png'))
result = model(image)
Arguments
x A floating point numpy.array or a tf.Tensor, 3D or 4D with 3 color channels, with values in the range [0, 255]. The preprocessed data are written over the input data if the data types are compatible. To avoid this behaviour, numpy.copy(x) can be used.
data_format Optional data format of the image tensor/array. Defaults to None, in which case the global setting tf.keras.backend.image_data_format() is used (unless you changed it, it defaults to "channels_last").
mode One of "caffe", "tf" or "torch". Defaults to "caffe".
  • caffe: will convert the images from RGB to BGR, then will zero-center each color channel with respect to the ImageNet dataset, without scaling.
  • tf: will scale pixels between -1 and 1, sample-wise.
  • torch: will scale pixels between 0 and 1 and then will normalize each channel with respect to the ImageNet dataset.
Returns
Preprocessed numpy.array or a tf.Tensor with type float32.
Raises
ValueError In case of unknown mode or data_format argument.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/keras/applications/imagenet_utils/preprocess_input