Document Classification
Reflect on the following question: You’ll have to think about how to train the machine. What kind of data did you include in your training dataset and why? What other kind of data could have been helpful but maybe you couldn’t get in the short-term/for free? Your group may, in some cases, search for photograph sets. One possibility to get large data sets is to convert YouTubes into clips. Did your model work well for what you wanted? In what instances might your model not work very well? Include the link to your project.
In our data training set, we included multiple Google pictures of cats and kittens. A Youtube video condensed to photos could have been helpful to get if time was not a factor in our situation. No our model did not work well for what we wanted because it classifying people and objects as cats, that are clearly not cats. Our model lacks when falsely identifying things that are not cats or kittens, so in a situation where a cat or kitten is not the object in front of the camera, then false data would be given.
from keras.models import load_model # TensorFlow is required for Keras to work
from PIL import Image, ImageOps # Install pillow instead of PIL
import numpy as np
# Disable scientific notation for clarity
np.set_printoptions(suppress=True)
# Load the model
model = load_model(“keras_Model.h5”, compile=False)
# Load the labels
class_names = open(“labels.txt”, “r”).readlines()
# Create the array of the right shape to feed into the keras model
# The ‘length’ or number of images you can put into the array is
# determined by the first position in the shape tuple, in this case 1
data = np.ndarray(shape=(1, 224, 224, 3), dtype=np.float32)
# Replace this with the path to your image
image = Image.open(“<IMAGE_PATH>”).convert(“RGB”)
# resizing the image to be at least 224×224 and then cropping from the center
size = (224, 224)
image = ImageOps.fit(image, size, Image.Resampling.LANCZOS)
# turn the image into a numpy array
image_array = np.asarray(image)
# Normalize the image
normalized_image_array = (image_array.astype(np.float32) / 127.5) – 1
# Load the image into the array
data[0] = normalized_image_array
# Predicts the model
prediction = model.predict(data)
index = np.argmax(prediction)
class_name = class_names[index]
confidence_score = prediction[0][index]
# Print prediction and confidence score
print(“Class:”, class_name[2:], end=””)
print(“Confidence Score:”, confidence_score)
