aboutsummaryrefslogtreecommitdiff
path: root/modules/ui.py
diff options
context:
space:
mode:
authorΦφ <42910943+Brawlence@users.noreply.github.com>2023-03-09 07:56:19 +0300
committerΦφ <42910943+Brawlence@users.noreply.github.com>2023-03-21 09:28:50 +0300
commit4cbbb881ee530d9b9ba18027e2b0057e6a2c4ee1 (patch)
tree943c119f18a0aa7a748f95c989f73e3a9a69a1c3 /modules/ui.py
parenta9fed7c364061ae6efb37f797b6b522cb3cf7aa2 (diff)
Unload checkpoints on Request
…to free VRAM. New Action buttons in the settings to manually free and reload checkpoints, essentially juggling models between RAM and VRAM.
Diffstat (limited to 'modules/ui.py')
-rw-r--r--modules/ui.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/modules/ui.py b/modules/ui.py
index 7e603332..d93ef134 100644
--- a/modules/ui.py
+++ b/modules/ui.py
@@ -1491,11 +1491,33 @@ def create_ui():
request_notifications = gr.Button(value='Request browser notifications', elem_id="request_notifications")
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 SD checkpoint to free VRAM', elem_id="sett_unload_sd_model")
+ reload_sd_model = gr.Button(value='Reload the last SD checkpoint back into VRAM', elem_id="sett_reload_sd_model")
with gr.TabItem("Licenses"):
gr.HTML(shared.html("licenses.html"), elem_id="licenses")
gr.Button(value="Show all pages", elem_id="settings_show_all_pages")
+
+
+ def unload_sd_weights():
+ modules.sd_models.unload_model_weights()
+
+ def reload_sd_weights():
+ modules.sd_models.reload_model_weights()
+
+ unload_sd_model.click(
+ fn=unload_sd_weights,
+ inputs=[],
+ outputs=[]
+ )
+
+ reload_sd_model.click(
+ fn=reload_sd_weights,
+ inputs=[],
+ outputs=[]
+ )
request_notifications.click(
fn=lambda: None,