From 10ff6fd7bb226a2fdeb35617347a05c491af7718 Mon Sep 17 00:00:00 2001 From: sryu1 <95025816+sryu1@users.noreply.github.com> Date: Sun, 23 Oct 2022 11:30:54 +1000 Subject: [PATCH] Update Keras.md as suggested by Pull Request #301 As suggested by https://github.com/googlecreativelab/teachablemachine-community/pull/301, Defined class_names, added end='' for print class (line 43) since using readlines() for labels.txt adds an extra line between class and confidence score. Added compile=False since the model is already trained. Fixed a couple of syntax (e.g. #301 is missing some things in line 7) --- snippets/markdown/image/tensorflow/keras.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/snippets/markdown/image/tensorflow/keras.md b/snippets/markdown/image/tensorflow/keras.md index 25bd6e1..8306244 100644 --- a/snippets/markdown/image/tensorflow/keras.md +++ b/snippets/markdown/image/tensorflow/keras.md @@ -3,15 +3,23 @@ from keras.models import load_model from PIL import Image, ImageOps import numpy as np +# Disable scientific notation for clarity +np.set_printoptions(suppress=True) + # Load the model -model = load_model('keras_model.h5') +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('').convert('RGB') + #resize the image to a 224x224 with the same strategy as in TM2: #resizing the image to be at least 224x224 and then cropping from the center size = (224, 224) @@ -19,8 +27,10 @@ image = ImageOps.fit(image, size, Image.ANTIALIAS) #turn the image into a numpy array image_array = np.asarray(image) + # Normalize the image normalized_image_array = (image_array.astype(np.float32) / 127.0) - 1 + # Load the image into the array data[0] = normalized_image_array @@ -30,6 +40,6 @@ index = np.argmax(prediction) class_name = class_names[index] confidence_score = prediction[0][index] -print("Class: ", class_name) -print("Confidence Score: ", confidence_score) +print('Class: ', class_name, end='') +print('Confidence Score: ', confidence_score) ```