Skip to content

Python ↔ HTML/JS GUI for deep learning training, built using Eel.

License

Notifications You must be signed in to change notification settings

kengboon/dl_train_gui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deep Learning Training GUI

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.

Screenshot

Usage

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 form
  • set_train_params - set the values of hyperparameters from UI form into training code
  • train - 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 UI
  • epoch_callback - to update the epoch count and progress to UI
  • epoch_end_callback - to indicate end of epoch and record performance
  • init_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

Build as distributable binary

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.

Attributes

Favicon comes from artificial intelligence icon pack by Freepik.

Citation

If you use the software in your research project, please use the following citation (view metadata).

BibTeX

@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}
}

APA

Teo, K. B. Deep Learning Training GUI (dl_train_gui) [Computer software]. https://github.com/kengboon/dl_train_gui

If this is helpful, buy me a ☕

Support me on Ko-fi