mirror of
https://github.com/lllyasviel/stable-diffusion-webui-forge.git
synced 2026-07-21 21:01:24 +08:00
inputs
This commit is contained in:
parent
6d5170e54a
commit
ab3d90ed94
@ -11,10 +11,6 @@ from backend.args import dynamic_args
|
||||
from backend.logging import setup_logger
|
||||
from modules import infotext_utils, launch_utils, paths, processing, sd_models, shared, shared_items, ui_common
|
||||
|
||||
# prevent duplicate logs when switching Presets
|
||||
_prev: str = None
|
||||
_pending: bool = False
|
||||
|
||||
logger = logging.getLogger("ui_models")
|
||||
setup_logger(logger)
|
||||
|
||||
@ -90,8 +86,8 @@ def make_checkpoint_manager_ui():
|
||||
ui_forge_unet_dtype = gr.Dropdown(label="Diffusion in Low Bits", value=lambda: shared.opts.forge_unet_storage_dtype, choices=list(forge_unet_storage_dtype_options.keys()))
|
||||
bind_to_opts(ui_forge_unet_dtype, "forge_unet_storage_dtype", save=True, callback=refresh_model_loading_parameters)
|
||||
|
||||
ui_checkpoint.change(checkpoint_change, inputs=[ui_checkpoint, ui_forge_preset], show_progress=False)
|
||||
ui_vae.change(modules_change, inputs=[ui_vae, ui_forge_preset], queue=False, show_progress=False)
|
||||
ui_checkpoint.input(checkpoint_change, inputs=[ui_checkpoint, ui_forge_preset], queue=False, show_progress=False)
|
||||
ui_vae.input(modules_change, inputs=[ui_vae, ui_forge_preset], queue=False, show_progress=False)
|
||||
|
||||
|
||||
def find_files_with_extensions(base_path: os.PathLike, extensions: list[str]) -> dict[str, os.PathLike]:
|
||||
@ -127,10 +123,6 @@ def refresh_models() -> tuple[list[os.PathLike], list[os.PathLike]]:
|
||||
|
||||
|
||||
def refresh_model_loading_parameters(*, refresh: bool = True):
|
||||
global _pending
|
||||
if _pending:
|
||||
_pending = False
|
||||
return
|
||||
if not refresh:
|
||||
return
|
||||
|
||||
@ -254,12 +246,22 @@ def forge_main_entry():
|
||||
ui_img2img_batch_size,
|
||||
]
|
||||
|
||||
ui_forge_preset.change(on_preset_change, inputs=[ui_forge_preset], outputs=output_targets, queue=False, show_progress=False).then(js="clickLoraRefresh", fn=None, queue=False, show_progress=False)
|
||||
ui_forge_preset.change(on_preset_change, inputs=[ui_forge_preset], outputs=output_targets, queue=False, show_progress=False).success(
|
||||
fn=_load_presets,
|
||||
inputs=[ui_checkpoint, ui_vae, ui_forge_preset],
|
||||
queue=False,
|
||||
show_progress=False,
|
||||
).then(js="clickLoraRefresh", fn=None, queue=False, show_progress=False)
|
||||
Context.root_block.load(on_preset_change, inputs=[ui_forge_preset], outputs=output_targets, queue=False, show_progress=False)
|
||||
|
||||
refresh_model_loading_parameters()
|
||||
|
||||
|
||||
def _load_presets(ui_checkpoint: str, ui_vae: list[str], ui_forge_preset: str):
|
||||
checkpoint_change(ui_checkpoint, ui_forge_preset, save=False, refresh=False)
|
||||
modules_change(ui_vae, ui_forge_preset)
|
||||
|
||||
|
||||
def on_preset_change(preset: str):
|
||||
assert preset is not None
|
||||
shared.opts.set("forge_preset", preset)
|
||||
@ -271,10 +273,6 @@ def on_preset_change(preset: str):
|
||||
distill_label = "Distilled CFG Scale" if preset == "flux" else "Shift"
|
||||
batch_args = {"minimum": 1, "maximum": 97, "step": 16, "label": "Frames", "value": 1} if preset == "wan" else {"minimum": 1, "maximum": 8, "step": 1, "label": "Batch Size", "value": 1}
|
||||
|
||||
global _prev, _pending
|
||||
_pending = str(additional_modules) != _prev
|
||||
_prev = str(additional_modules)
|
||||
|
||||
return [
|
||||
gr.update(value=getattr(shared.opts, f"forge_checkpoint_{preset}", shared.opts.sd_model_checkpoint)), # ui_checkpoint
|
||||
gr.update(value=additional_modules), # ui_vae
|
||||
|
||||
Loading…
Reference in New Issue
Block a user