Making Predictions using Image Classifier (TensorFlow)

This was tested on TF 2.x and works as of 2019-12-10

If you want to understand how to make your own custom image classifier, please refer to my previous post.

If you followed my last post, then you created a model which took an image of dimensions 50x50 as an input.

First we import the following if we have not imported these before

import cv2
import os

Then we read the file using OpenCV.

image=cv2.imread(imagePath)

The cv2. imread() function returns a NumPy array representing the image. Therefore, we need to convert it before we can use it.

image_from_array = Image.fromarray(image, 'RGB')

Then we resize the image

size_image = image_from_array.resize((50,50))

After this we create a batch consisting of only one image

p = np.expand_dims(size_image, 0)

We then convert this uint8 datatype to a float32 datatype

img = tf.cast(p, tf.float32)

Finally we make the prediction

print(['Infected','Uninfected'][np.argmax(model.predict(img))])

Infected

If you have scrolled this far, consider subscribing to my mailing list here. You can subscribe to either a specific type of post you are interested in, or subscribe to everything with the "Everything" list.