Skip to content

Various tiny changes/fixes/additions to BaseUI/General Args#68

Merged
67372a merged 53 commits into67372a:refreshfrom
DraconicDragon:ui/misc-baseui
Feb 1, 2026
Merged

Various tiny changes/fixes/additions to BaseUI/General Args#68
67372a merged 53 commits into67372a:refreshfrom
DraconicDragon:ui/misc-baseui

Conversation

@DraconicDragon
Copy link
Copy Markdown

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:

  • toggle-able Global Protected Tags File
  • Rectified Flow settings mainly oriented towards recent SDXL/NoobAI RF experiments (likely marked as experimental in some way, tucked into an expandable element

Otherwise notable (planned) changes:

  • Update a bunch of tooltips by a bit in the attempt to make them a bit more helpful and make them consistent (such as having no periods at the end of (the last sentence) tooltips content)
    • midway edit: while I kinda started already, there seems to be other things to be taken care of before I can put full attention to tooltips, especially since I noticed im not sure if It's better to have the tooltips to be very accurate or a bunch of smaller helpful pointers, however accurate requires knowledge which I likely don't have
  • Maybe add the cli arg that settings are associated with
  • Changed default values to accomodate newer, more commonly used values such as width/height
    • likely also SDPA, Cache Latents, mayyybe Gradient Checkpointing (generally just settings that don't lock someone out of a completely different setting, like vpred, or isnt compatible with some stuff, like vae reflection, and that 95%+ of people would set to enabled when they open the UI)
  • Add to tooltips that a setting is suggested/recommended, settings like cache latents, SDPA
  • (dev) fixed desync between BaseUI.py and BaseUI.ui so that the UI can be edited through pyside6-designer now

(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

* 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
…- 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
@DraconicDragon
Copy link
Copy Markdown
Author

Visual of recent commit(s)

Qt-Material theme image
No Theme/Qt Fusion image

@67372a 67372a self-assigned this Jan 18, 2026
…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
*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
@DraconicDragon
Copy link
Copy Markdown
Author

Current state:

  • UI elements are there
  • Tooltips missing
  • args are saved and loaded to TOML successfully and correctly ignores disabled groups/textboxes, otherwise untested
    • general_args.args key is being used in toml instead of any new key
Video of UI itself functioning
Screencast_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
@DraconicDragon
Copy link
Copy Markdown
Author

DraconicDragon commented Jan 24, 2026

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 so hurray more points of failure)

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
Also the new dropdown doesnt auto expand when values in it are loaded, not sure how to add that yet, its possible i just have to check for every single value manually like the rest of the code

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
Did not do much with tooltips in general args/baseui besides touch some up and fix up some others

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

@DraconicDragon
Copy link
Copy Markdown
Author

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).
Seems to be all working. I'm gonna test the LoRAs a bit more and see if there might not be any issue, then fix the leftover bugs at some point and the PR will probably be ready to merge (I think overhauling the tooltips as a whole and possible other UI pages' fixes would probably fit in a separate PR atp)

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
@DraconicDragon
Copy link
Copy Markdown
Author

DraconicDragon commented Jan 28, 2026

Should be "done" now.
This was certainly a learning experience I must say, not quite enjoyable towards the end for UI logic but I believe it to be working with at worst minimal issues

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
I might explore making my own UI for this if the need arises since I've been interested, and depending on what time will bring

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

@DraconicDragon DraconicDragon marked this pull request as ready for review January 28, 2026 13:20
@67372a
Copy link
Copy Markdown
Owner

67372a commented Jan 29, 2026

Very nice work, @DraconicDragon , your contributions are appreciated. I'll review more closely soon and let you know!

@67372a 67372a self-requested a review February 1, 2026 19:23
@67372a 67372a merged commit 8b21b86 into 67372a:refresh Feb 1, 2026
@67372a
Copy link
Copy Markdown
Owner

67372a commented Feb 1, 2026

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants