tf.keras.applications.imagenet_utils.preprocess_input

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

Usage example with applications.MobileNet:

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

x: A floating point numpy.array or a backend-native 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. None, means the global setting keras.backend.image_data_format() is used (unless you changed it, it uses "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. Defaults to "caffe".

    Defaults to None.

Preprocessed array with type float32.

ValueError In case of unknown mode or data_format argument.