From 7cd48f5cba63c23f83680086b99e67f805f04944 Mon Sep 17 00:00:00 2001 From: Mirrowel Date: Thu, 1 Jun 2023 23:23:54 +0200 Subject: [PATCH] Neural Network - #4 --- TesterRandom.py | 65 +++++++++++++++++++++++++++++++++++-------------- testerZBS.py | 2 +- 2 files changed, 48 insertions(+), 19 deletions(-) diff --git a/TesterRandom.py b/TesterRandom.py index 63a97e9..3a69073 100644 --- a/TesterRandom.py +++ b/TesterRandom.py @@ -11,23 +11,52 @@ model = keras.models.load_model('trained_model.h5') class_names = ['Empty', 'Food','People'] # Path to the folder containing test images -test_images_folder = 'Testing/ +test_images_folder = 'Testing/' # Iterate over the test images -for filename in os.listdir(test_images_folder): - if filename.endswith('.jpg') or filename.endswith('.jpeg') or filename.endswith('.png'): - # Load and preprocess the test image - image_path = os.path.join(test_images_folder, filename) - test_image = image.load_img(image_path, target_size=(224, 224)) - test_image = image.img_to_array(test_image) - test_image = np.expand_dims(test_image, axis=0) - test_image = test_image / 255.0 # Normalize the image - - # Make predictions - predictions = model.predict(test_image) - predicted_class_index = np.argmax(predictions[0]) - predicted_class = class_names[predicted_class_index] - - print('Image:', filename) - print('Predicted class:', predicted_class) - print() \ No newline at end of file +i = 0 +errorcount = 0 +for folder_name in os.listdir(test_images_folder): + folder_path = os.path.join(test_images_folder, folder_name) + if os.path.isdir(folder_path): + print('Testing images in folder:', folder_name) + + # True class based on folder name + if folder_name == 'Empty': + true_class = 'Empty' + elif folder_name == 'Food': + true_class = 'Food' + elif folder_name == 'People': + true_class = 'People' + true_class = folder_name + + # Iterate over the files in the subfolder + for filename in os.listdir(folder_path): + if filename.endswith('.jpg') or filename.endswith('.jpeg'): + i+=1 + # Load and preprocess the test image + image_path = os.path.join(folder_path, filename) + test_image = image.load_img(image_path, target_size=(100, 100)) + test_image = image.img_to_array(test_image) + test_image = np.expand_dims(test_image, axis=0) + test_image = test_image / 255.0 # Normalize the image + + # Reshape the image array to (1, height, width, channels) + test_image = np.reshape(test_image, (1,100, 100, 3)) + + # Make predictions + predictions = model.predict(test_image) + predicted_class_index = np.argmax(predictions[0]) + predicted_class = class_names[predicted_class_index] + + direct = 'Results/' + filename = str(i) + predicted_class + '.jpeg' + test_image = np.reshape(test_image, (100, 100, 3)) + tf.keras.preprocessing.image.save_img(direct+filename, test_image) + if predicted_class != true_class: + errorcount += 1 + print('Image:', filename) + print('True class:', true_class) + print('Predicted class:', predicted_class) + print() +print('Error count: ', errorcount) \ No newline at end of file diff --git a/testerZBS.py b/testerZBS.py index 6e40f27..0868241 100644 --- a/testerZBS.py +++ b/testerZBS.py @@ -47,7 +47,7 @@ for i in range(60): direct = 'Results/' filename = predicted_class + str(i) + '.jpeg' - tf.keras.preprocessing.image.save_img(direct+filename, val_images[i]) + tf.keras.preprocessing.image.save_img(direct+filename, test_image) if predicted_class != true_class: errorcount += 1 print('Image', i+1)