tf.keras.applications.imagenet_utils.preprocess_input

TensorFlow 1 version View source on GitHub

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)

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".

  • 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.

Preprocessed numpy.array or a tf.Tensor with type float32.

ValueError In case of unknown data_format argument.