This commit is contained in:
Haoming 2026-05-16 13:34:24 +08:00
parent 6e8086edea
commit 14ab4f646c
2 changed files with 13 additions and 7 deletions

View File

@ -265,9 +265,16 @@ class SdModelData:
model_data = SdModelData()
def unload_model_weights(sd_model=None, info=None):
def unload_model_weights(*args, **kwargs):
memory_management.unload_all_models()
return
del model_data.sd_model
model_data.sd_model = FakeInitialModel()
model_data.forge_hash = ""
memory_management.soft_empty_cache()
gc.collect()
def list_loaded_weights():
@ -344,7 +351,6 @@ def forge_model_reload():
sd_model = forge_loader(state_dict, additional_state_dicts=additional_state_dicts)
except Exception as e:
model_data.sd_model = FakeInitialModel()
model_data.forge_loading_parameters = {}
model_data.forge_hash = ""
errors.display(e, "forge_loader")
memory_management.logger.error("Failed to load diffusion model... (check README for supported models)")

View File

@ -211,8 +211,8 @@ class UiSettings:
download_localization = gr.Button(value="Download localization template", elem_id="download_localization")
reload_script_bodies = gr.Button(value="Reload custom script bodies (No ui updates, No restart)", variant="secondary", elem_id="settings_reload_script_bodies")
with gr.Row():
unload_sd_model = gr.Button(value="Unload all models", elem_id="sett_unload_sd_model")
list_loaded_model = gr.Button(value="List all currently loaded models", elem_id="sett_list_loaded_model")
unload_sd_model = gr.Button(value="Unload All Models", tooltip="Clear all models from RAM and VRAM", elem_id="sett_unload_sd_model")
list_loaded_model = gr.Button(value="List Loaded Models", tooltip="Print out all models currently loaded", elem_id="sett_list_loaded_model")
with gr.Row():
calculate_all_checkpoint_hash = gr.Button(value="Calculate hash for all checkpoint", elem_id="calculate_all_checkpoint_hash")
calculate_all_checkpoint_hash_threads = gr.Number(value=1, label="Number of parallel calculations", elem_id="calculate_all_checkpoint_hash_threads", precision=0, minimum=1)
@ -240,9 +240,9 @@ class UiSettings:
license_tab.select(fn=None, _js="populateLicense")
unload_sd_model.click(fn=call_func_and_return_text(sd_models.unload_model_weights, "Unloaded all models"), inputs=[], outputs=[self.result])
unload_sd_model.click(fn=call_func_and_return_text(sd_models.unload_model_weights, "Unloaded all models"), outputs=[self.result])
list_loaded_model.click(fn=call_func_and_return_text(sd_models.list_loaded_weights, "List all models"), inputs=[], outputs=[self.result])
list_loaded_model.click(fn=call_func_and_return_text(sd_models.list_loaded_weights, "List all models"), outputs=[self.result])
request_notifications.click(fn=lambda: None, inputs=[], outputs=[], _js="function(){}")