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