I upload an image at GUI was non demented but the output at GUI become mild demented 4 times. This is the output that i get at my GUI (Predicted output for uploaded Image: ['MildDemented' 'MildDemented' 'MildDemented' 'MildDemented'). What i need at output is (Predicted output for uploaded Image: ['NonDemented'])
Can anyone suggest what can be solve
I think my problem at
def predict():
disease = model.predict(img4)
prediction = disease[0]
prediction_name = mapping[[int(x) for x in prediction]]
text.insert(END,"Predicted output for uploaded Image: "+str(prediction_name)+"\n")
What I have tried:
from tkinter import messagebox
from tkinter import *
from tkinter import simpledialog
import tkinter
from tkinter import filedialog
from tkinter.filedialog import askopenfilename
import numpy
import keras
import cv2
import matplotlib.pyplot as plt
from keras.models import load_model
from keras import models
from keras import layers
from tensorflow.keras import optimizers
main = tkinter.Tk()
main.title("Alzeimer's prediction")
main.geometry("1024x768")
mapping = numpy.array(['MildDemented', 'ModerateDemented', 'NonDemented', 'VeryMildDemented'])
def load():
global model
model = load_model('model_final.h5')
model.summary()
model.compile(loss='categorical_crossentropy',
optimizer=optimizers.RMSprop(learning_rate=1e-4),
metrics=['acc'])
def upload():
text.delete('1.0',END)
global filename
filename = askopenfilename()
text.insert(END,"File Uploaded: "+str(filename)+"\n")
def imagepreprocess():
global img4
img3 = cv2.imread(filename)
img3 = cv2.cvtColor(img3, cv2.COLOR_BGR2RGB)
img3 = cv2.resize(img3,(224,224))
img4 = numpy.reshape(img3,[1,224,224,3])
def predict():
disease = model.predict(img4)
prediction = disease[0]
prediction_name = mapping[[int(x) for x in prediction]]
text.insert(END,"Predicted output for uploaded Image: "+str(prediction_name)+"\n")