def main(): # project parameters project_parameters = ProjectParameters().parse() assert project_parameters.mode in [ 'train', 'predict', 'predict_gui', 'tuning' ], 'please check the mode argument.\nmode: {}\nvalid: {}'.format( project_parameters.mode, ['train', 'predict', 'predict_gui', 'tuning']) if project_parameters.mode == 'train': result = Train(project_parameters=project_parameters).train() elif project_parameters.mode == 'predict': result = Predict(project_parameters=project_parameters) result = Predict(project_parameters=project_parameters).predict( filepath=project_parameters.root) elif project_parameters.mode == 'predict_gui': from src.predict_gui import PredictGUI result = PredictGUI(project_parameters=project_parameters).run() elif project_parameters.mode == 'tuning': result = Tuning(project_parameters=project_parameters, train_class=Train).tuning() return result
if self.data_path is not None: probability = self.predict_object(data_path=self.data_path) self.probability_label.config(text=('probability:\n'+' {}:{},'*len(probability)).format( *np.concatenate(list(zip(self.project_parameters.classes, probability))))[:-1]) self.result_label.config( text=self.project_parameters.classes[probability.argmax()]) else: messagebox.showerror( title='Error!', message='please select an image!') def run(self): self.load_audio_button.pack(anchor=tk.NW) self.play_audio_button.pack(anchor=tk.NW) self.recognize_button.pack(anchor=tk.NW) self.data_path_label.pack(anchor=tk.N) self.gallery_image_canvas.get_tk_widget().pack(anchor=tk.N) self.probability_label.pack(anchor=tk.N) self.result_label.pack(anchor=tk.N) # run self.window.mainloop() if __name__ == '__main__': # project parameters project_parameters = ProjectParameters().parse() # GUI gui = GUI(project_parameters=project_parameters) gui.run()