ML Community Day is November 9! Join us for updates from TensorFlow, JAX, and more Learn more


Loads an image into PIL format.

Used in the notebooks

Used in the guide Used in the tutorials


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)

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.

A PIL Image instance.

ImportError if PIL is not available.
ValueError if interpolation method is not supported.