tf.keras.applications.imagenet_utils.preprocess_input
Preprocesses a tensor or Numpy array encoding a batch of images.
tf.keras.applications.imagenet_utils.preprocess_input(
x, data_format=None, mode='caffe'
)
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. |