Various tiny changes/fixes/additions to BaseUI/General Args#68
Various tiny changes/fixes/additions to BaseUI/General Args#6867372a merged 53 commits into67372a:refreshfrom
Conversation
* fix: sync .ui and .py file for compatibility with PySide6/Qt Designer app Adds Debiased Loss Estimation and Max Data Loader Workers settings to the .ui file .py file is compile from .ui file through pyside6-uic tool * refactor: Change a bunch of tooltips to try to make them more informative and add if they were empty; High VRAM and Debiased Estimation Loss are left empty for now, ref. TODO.md * refactor: Rename Keep Tokens Separator to Keep Tags Separator and the corresponding tooltip, ref TODO.md Requires change in subset args ui for keep tokens too THIS IS ONLY VISUAL, toml and backend still uses "tokens", however "tags" is more correct since keep tokens doesnt keep actual tokens * refactor: Changed default width and height value to 1024 to accomodate more commonly used standards for models * chore: fix 'typo', Xformers -> xFormers
… now the checkboxes look nicer/more in order might benefit from a reordering not sure, probably not to keep existing user's expectations of where settings are
…ags File (Global)
…isabled, if it was populated
…- GeneralUI if the user didn't change the hardcoded stuff in the UI, and left it as is, it would take the hardcoded values instead of the default value defined in the UI This issue likely exists for other parts of the code, same for last fix commit
- reduce vertical spacing of model_checkbox_gridLayout - add left/right margin of 3/3 inbetween the bottom horizontal aligned Form Layouts to separate them better visually - move out VAE reflection checkbox (will be added back later)
- ExperimentalArgsUI includes:
- Notice Labels for information
- Flow Model Group settings tailored towards SDXL-based noobai RF models
- Flow settings: Timestep Distribution combobx; Uniform Static Shift float; Logit Mean float; Logit std float; Optimal transport checkbox
- Contrastive Flow Matching and corresponding Lambda Setting
- Advanced VAE Settings Group (unfinished)
- Includes: VAE reflection; Custom Shift; Custom Scale
- Zero Cond dropout checkbox
- wired up new UI to GeneralUI.py as a CollapsibleWidget.py but a bit slimmer
- moved VAE Reflection to ExperimentalArgsUI
…tweaks
- Switched to FormLayouts instead of HBoxLayout to match BaseUI for sizing behaviour
- Move Optimal Transport checkbox into FormLayouts
- Update ui element object names
- added for the vae settings, cfm lambda, zero cond dropout, etc
- removed flow prefix from cfm_enable
- updated ui logic file accordingly
* fix: typo in uniform
* refactor: move CFM settings below Adv. VAE settings and put it incl zero cond dropout in form layout
* style: update experimental args ui file so the args stuff is structured similar to how represented visually
* chore: update todo
…ntalArgsUI misc section
*theoretically* not incompatible but pretty much 0 reason to use/allow, probably doesnt work in backend anyway
i dont really like how its set up right now but it seems to be working, and similarly setup to how all the other UI files are
why are there defaults in the first place if the UI sets defaults? I think all fallback values if a value cant be loaded can be removed so the UI keeps whatever value its on since that basically acts as fallback?
…if it's 1 not needed since default is 1 already, is just bloat in toml otherwise
…pinBoxes also set vae custom scale default to sdxl default set in sd scripts code
|
Current state:
Video of UI itself functioningScreencast_20260119_145659.webm |
…kboxes move the logic to save args and check for enabled + checked also disable debiased estimation if flow model is enabled since its ignored in backend anyway
Flow model stuff, misc settings only vae stuff missing need to change spans to code tags
update todo too
|
Main features are pretty much done, global protected tags file works and shows on dataset config print when starting training, is overridden by subset specific protected file and the new flow/adv. vae/misc args seem to get correct added and loaded from the toml I started a lycoris locon training run on an in-progress unreleased SDXL RF model (using normal vae so adv vae settings are unused) to see how it goes (with edm2 enabled Still got a bug with flow model box/v param not being disabled when toml with either value = true is being loaded, which can lead to v param and flow being checked at the same time by user Tooltips are added in the new exp args ui too, alongside cli arg added. i didn't spend a lot of time verifying each and is mostly derived from what i could find in code/online, if possible + having LLM write it in a more simpler way Reminder (to myself mostly) that Keep Tokens Separator is renamed to Keep Tags Separator (Label only - nothing in ui logic or backend code changed) and that Keep Tokens in subset args ui is not yet renamed |
|
The mentioned training run finished and it seems to work, I did another run without edm2 and a third run on bluvoll's sd scripts (no edm2 support). |
enabling flow model and saving, then disabling flow model, saving, will not remove the the args, this works around that hardcoded key names, this ui code sucks, or i suck
sync ui file with py file make some tooltips clearer, rename some labels, capitalization rename keep tokens to keep tags, suggest protected tags file as better alternative
sync ui file with py file update some tooltips for caption dropout rename rate to full dropout rate
hardcoded key names but whatever
|
Should be "done" now. There's quite a few things I've been pondering about that could be added to this UI, but I thought I'd start 'small' with this first and then see how it'll feels to work with, well it's worse than I expected, and maintaining the UI in this state/adding stuff doesn't seem very viable imo so there probably won't be much more from me outside of possibly small stuff Some stuff from the TODO is not added, like making more settings the default, nothing big anyway and I wouldn't want to introduce more points of failure for this and increase the PR size further Video of me testing TOML saving and some UI behaviour output.mp4 |
3072 for max res, make it inherit the values from ui rather hardcoded defaults
|
Very nice work, @DraconicDragon , your contributions are appreciated. I'll review more closely soon and let you know! |
|
@DraconicDragon looks good to me. It's a bit difficult to maintain and update effectively, it also has a few bugs with certain elements that are tricky to trace, so I tend to avoid messing with it too much. I appreciate your efforts and exposing additional functionality via the UI! |


This PR is focused mainly on BaseUI.ui (probably MainUI/MainWindow.py too) and slightly improving the UX as well as fixing some minor stuff and adding some small features.
Main features I aim to have added when this PR is ready for review:
Otherwise notable (planned) changes:
(refer to added TODO.md for planned and considered changes)
The PR is unfinished and marked as draft to allow for testing and comments on the changes