diff --git a/modules/sysinfo.py b/modules/sysinfo.py index a3a7579cedb..cb6b523f364 100644 --- a/modules/sysinfo.py +++ b/modules/sysinfo.py @@ -237,7 +237,9 @@ def set_config(req: dict[str, Any], is_api=False, run_callbacks=True, save_confi main_entry.checkpoint_change(v, save=False, refresh=False) should_refresh_model_loading_params = True elif k == 'forge_additional_modules': - should_refresh_model_loading_params = main_entry.modules_change(v, save=False, refresh=False) + modules_changed = main_entry.modules_change(v, save=False, refresh=False) + if modules_changed: + should_refresh_model_loading_params = True elif k in memory_keys: mem_key = k[len('forge_'):] # remove 'forge_' prefix memory_changes[mem_key] = v diff --git a/modules_forge/main_entry.py b/modules_forge/main_entry.py index bae0a1b7cd7..b3bef87c471 100644 --- a/modules_forge/main_entry.py +++ b/modules_forge/main_entry.py @@ -250,7 +250,7 @@ def checkpoint_change(ckpt_name:str, save=True, refresh=True): def modules_change(module_values:list, save=True, refresh=True) -> bool: - """ module values may be provided as file paths or as simply the module names """ + """ module values may be provided as file paths, or just the module names. Returns True if modules changed. """ modules = [] for v in module_values: module_name = os.path.basename(v) # If the input is a filepath, extract the file name