At first, I thought I was not following up on the API documentation, but then I found that the documentation was quite confusing. The usage part seems inconsistent with the rest of the document:
Actually the utilities to preprocess data are moved from tf.keras.preprocessing.image* to tf.keras.utils*
You should use tf.keras.utils.load_img instead of tf.keras.utils.load_image.
Please refer to the working code below
import tensorflow as tf
print(tf.__version__)
help(tf.keras.utils.load_img)
Output:
2.8.2
Help on function load_img in module keras.preprocessing.image:
load_img(path, grayscale=False, color_mode='rgb', target_size=None, interpolation='nearest')
Loads an image into PIL format.
Usage:
```
image = tf.keras.preprocessing.image.load_img(image_path)
input_arr = tf.keras.preprocessing.image.img_to_array(image)
input_arr = np.array([input_arr]) # Convert single image to a batch.
predictions = model.predict(input_arr)
```
Args:
path: Path to image file.
grayscale: DEPRECATED use `color_mode="grayscale"`.
color_mode: One of "grayscale", "rgb", "rgba". Default: "rgb".
The desired image format.
target_size: Either `None` (default to original size)
or tuple of ints `(img_height, img_width)`.
interpolation: Interpolation method used to resample the image if the
target size is different from that of the loaded image.
Supported methods are "nearest", "bilinear", and "bicubic".
If PIL version 1.1.3 or newer is installed, "lanczos" is also
supported. If PIL version 3.4.0 or newer is installed, "box" and
"hamming" are also supported. By default, "nearest" is used.
Returns:
A PIL Image instance.
Raises:
ImportError: if PIL is not available.
ValueError: if interpolation method is not supported.