skywolf829 / GSTK

Gaussian Splatting toolkit application. One stop shop for preprocessing your dataset, training your model with human-in-the-loop training, and editing saved GSplat PLY files.
MIT License
4 stars 1 forks source link

Frontend settings window for training setup, starting/pausing training #4

Closed skywolf829 closed 7 months ago

skywolf829 commented 7 months ago

Before training a GS model, a few things need to be defined. Mainly, the dataset location (on the remote server) and the hyperparameters for the training/model. We need a window to allow editing of the parameters and dataset loading.

The window(s) should allow this process to work

  1. Set up Dataset (tell backend where to load dataset from remote storage), then a button to actually load the data.
  2. Choose training hyperparameters
  3. Button to initialize trainer/model
  4. Buttons to play/pause/stop training.

Requirements

Dataset loading

Trainer/model setup

Start training

Extra

Dataset loading

With extra communication, the frontend could navigate the folders on the backend easier than typing in a direct path. Some way to show the remote folder structure would help users.

Button clicking

It would help if the buttons could only be pressed when the prerequisites are met. For instance, for the trainer/model initialization, the dataset must already exist because the trainer needs the dataset. For training start, it should only be clickable once the dataset+model+trainer are initialized. To pause training, the model must be currently training.

Adjusting settings during training

Sometimes it would be nice to adjust the hyperparameters during training. If the user changes a learning rate or number of iterations, a message should be sent to the backend to update those settings again and continue training. Pausing training is not necessary (but may be wise!).

skywolf829 commented 7 months ago

Dataset, model, and trainer initialization working with error checking. Pop ups will appear on app if an error is hit.

Next step is starting/pausing training

skywolf829 commented 7 months ago

Modified the initialization for dataset/trainer/model. Now, pre-initializes model/trainer, and only initializes dataset when its pointed to and initialized. Can update settings on-the-fly. Some more work still needed when updating settings to be correct.

skywolf829 commented 7 months ago

Decoupled dataset, model, and trainer further. Each have separate windows and can be updated at any time. Training can be started and paused as desired.