There are various negative effects if these settings are allowed in the extra options for txt2img or img2img. This PR removes them from the extra_options lists at load time.
'sd_model_checkpoint' and 'CLIP_stop_at_last_layers' will invisibly override main UI settings, leading to confusing behaviour
'sd_vae' doesn't seem harmful, but can create an empty block in the UI section
'forge_additional_modules' causes an error that prevents the UI from loading
empty selection for *Hires VAE / TE* means 'use modules built-in to the model file', same as top-row VAE / TE selection. But this must be written to infotext as something, to distinguish from the non-HiRes case.
adds selection of none/same/different modules for hiresfix
('Use same choices' default option has priority over other selections made at same time.)
includes saving/loading from infotext
* prevent (Managed by Forge) settings reverting to default
* save CLIP skip to config when changed, inconsistent / unpredictable saving behaviour otherwise
- `/sdapi/v1/options` GET now calls `get_config()` from **sysinfo** module, instead of from its own version of the function.
- Defined a new, flexible and more robust `set_config()` function in **sysinfo** module, which:
- obsoletes redundant code
- skips updating values that are unchanged
- has flexible args for both API and UI use
- `/sdapi/v1/options` POST and `override_settings` now use the new `set_config()` function. `set_config()` could possibly obsolete additional functions, but I'm not going to get into that just yet.
- Options for `forge_additional_modules` can now be provided either as the file path, or just the module name.
- Most importantly, `refresh_model_loading_parameters()` is now only called ONCE per request, and **only** if necessary.
- It is now much easier to call `shared.opts.save()` as needed
* Do refresh load params for modules
* Adjust call order for model mgmt/prompt cache
* new function `manage_model_and_prompt_cache()` to improve code clarity
* make unload_model_weights do that
* rename Settings > Actions > unload checkpoint button to 'Unload all models'
* remove (comment out) reload button, as it does nothing and is unlikely to ever do anything since models are loaded on demand
When the prompt is chunked using the BREAK keyword, chunks will be padded to the minimum size of 256 tokens - but chunks can be longer. torch.stack then fails if all chunks are not the same size, so find the largest and pad all to match.
#1988 (doesn't quite ID the real issue, prompts longer than 255 tokens work fine)