def index_page(text="", prediction_message=""): """Main page of web app""" if request.method == "POST": clf = Classifier(DEFAULT_MODEL_PATH, DEFAULT_VECTORIZER_PATH, DEFAULT_MLB_PATH) dialogue = request.form["text"] prediction = clf.predict(dialogue) prediction_message = " ".join(sorted(prediction)) return render_template('prediction_page.html', text=text, prediction_message=prediction_message)
class Main_1(tk.Frame): def __init__(self, parent, controller): tk.Frame.__init__(self, parent) self.file = None self.clf = Clf('./results/pascalvoc_A.pt') backButton = tk.Button(self, text='Back', command=lambda: controller.show_frame(MainView)) backButton.pack(side='top', fill='x') self.leftFrame = tk.Frame(self) self.leftFrame.pack(side="left", fill="both", expand=True) self.rightFrame = tk.Frame(self) self.rightFrame.pack(side="right", fill="both", expand=True) self.imgPanel = tk.Label(self.leftFrame, text=str(self.file or 'No file uploaded')) self.imgPanel.pack(side="left", fill="both", expand=True) self.results = tk.Label(self.rightFrame, text='Prediction:\n {}'.format(None), anchor='e') self.results.config(font=('Arial', 14)) self.results.pack(side='top', fill='y', expand=True) openFile = tk.Button(self.rightFrame, text="Open a Image", command=self.uploadFile) openFile.config(bg='#8e8d8d', font=('Arial', 14)) openFile.pack(side='bottom', fill='both', expand=True) def predict(self, img_path): self.results.config(text='Prediction:\n {}'.format('Calculating!!!')) self.results.update_idletasks() results = self.clf.predict(img_path) results_string = '\n'.join(results) if not results_string: results_string = None self.results.config(text='Prediction:\n {}'.format(results_string)) self.results.update_idletasks() return def uploadFile(self): f = filedialog.askopenfilename() self.file = f _, ext = os.path.splitext(f) valid_ext = ['.png', '.jpg', '.jpeg', '.JPG', '.PNG'] if ext not in valid_ext: self.imgPanel.configure(text='Invalid File Type: {}'.format(ext), image='') self.imgPanel.image = None self.imgPanel.update_idletasks() return else: to_predict = ImageTk.PhotoImage(pad_and_resize(f, 400)) self.imgPanel.config(image=to_predict) self.imgPanel.image = to_predict self.imgPanel.update_idletasks() self.predict(f)