Projem Keras ile ikili sınıflandırma yani kedi köpek, kalem silgi gibi .Eğitilmiş verimi load ediyorum ve normalde sınıflandırma işlemini yapabiliyorum ama şuan görsel bir arayüzle sınıflandırılıcak veriyi kullanıcının seçmesini istiyorum. Sonucunuda ‘Deneme’ yazdığım label ile kullanıcıya göstermek istiyorum.
import numpy as np
import cv2
from tkinter import filedialog
from tkinter import *
from PIL import ImageTk, Image
from keras import *
from keras.models import Sequential
from keras.layers import Dense, Activation, Conv2D, Dropout, MaxPooling2D, Flatten
model = Sequential()
model.add(Conv2D(50, (3, 3), input_shape=(50, 50, 3), data_format='channels_first'))
model.add(Conv2D(50, 2))
model.add(Conv2D(50, 2))
model.add(Conv2D(50, 2))
model.add(Conv2D(50, 3))
model.add(Conv2D(50, 2))
model.add(Conv2D(50, 2))
model.add(Conv2D(50, 2))
model.add(MaxPooling2D((5, 5), padding='same'))
model.add(Conv2D(50, 2))
model.add(Conv2D(50, 2))
model.add(Conv2D(50, 2))
model.add(MaxPooling2D((3, 3), padding='same'))
model.add(Conv2D(50, 2))
model.add(Flatten())
model.add(Dense(1000, activation='relu'))
model.add(Dropout(0, 3))
model.add(Dense(1000, activation='relu'))
model.add(Dense(2))
model.compile(loss='binary_crossentropy', optimizer=optimizers.RMSprop(lr=0.00001), metrics=['accuracy'])
model.load_weights("kerasileuygulama")
root = Tk()
root.geometry("550x300+300+150")
root.resizable(width=True, height=True)
def openfn():
filename = filedialog.askopenfilename(initialdir="/", title="Dosya Seç",
filetypes=(("png files", "*.png"), ("all files", "*.*")))
return filename
def open_img():
x = openfn()
img = Image.open(x)
img = img.resize((1, 50, 50, 3), Image.ANTIALIAS)
img = ImageTk.PhotoImage(img)
girisverisi1 = np.array([])
girisverisi1 = np.append(girisverisi1, img)
print(model.predict(girisverisi1))
panel = Label(root, image=img)
panel.image = img
panel.pack()
btn = Button(root, text='Sınıflandırmak İstediğiniz Görsel', command=open_img).pack()
lbl=Label(root,text='Deneme').pack()
Şuan Aldığım hata ise şu
TypeError: argument 1 must be sequence of length 2, not 4