Python ↔ HTML/JS GUI for deep learning training, built using Eel.
dl_train_gui acts as a container to the training code (no constraint on the deep learning framework), and provide a generic GUI for deep learning training task.
Chart(s) are created using billboard.js.
Inherit from or override the Program
class (see sample).
The code at the sample is a dummy program that simulate training, you should implement the real training code.
Create instance of program here.
def create_default_program():
return YOUR_PROGRAM_CLASS()
Following implementations required:
init_train_params
- define a list of hyperparameters to be populated on UI formset_train_params
- set the values of hyperparameters from UI form into training codetrain
- the entry point of training code
And hook to callbacks below:
status_callback
- to update the training status such as running, error, cancelled, etc. to UIepoch_callback
- to update the epoch count and progress to UIepoch_end_callback
- to indicate end of epoch and record performanceinit_vis_callback
- to initialize chart visualization area on UI (optional)vis_callback
- to update chart visualization on UI (optional)message_callback
- to send miscellaneous messages to UI
PyInstaller is included in Eel.
Sample command can be found at this batch file, include all required packages with --hidden-import
if intended to build as single executable.
Include required base packages: eel, tkinter, tkinter.filedialog
python -m eel run.py "dl_train_gui" --onefile --noconsole --name "dl_train_gui" --icon "dl_train_gui/web/img/neural_net.ico"^
--hidden-import eel^
--hidden-import tkinter^
--hidden-import tkinter.filedialog
Read the documentation for PyInstaller for more options.
Favicon comes from artificial intelligence icon pack by Freepik.
If you use the software in your research project, please use the following citation (view metadata).
@software{kengboon_dl_train_gui,
author = {Teo, Keng Boon},
license = {Apache-2.0},
title = {{dl_train_gui}: Deep Learning Training GUI},
url = {https://github.com/kengboon/dl_train_gui}
}
Teo, K. B. Deep Learning Training GUI (dl_train_gui) [Computer software]. https://github.com/kengboon/dl_train_gui