mirror of
https://github.com/Wan-Video/Wan2.1.git
synced 2025-11-04 14:16:57 +00:00
fixed memory leak while switching tabs
This commit is contained in:
parent
fb0ee815f7
commit
ccc0c4ffee
@ -658,6 +658,8 @@ def load_models(i2v):
|
|||||||
kwargs = { "extraModelsToQuantize": None}
|
kwargs = { "extraModelsToQuantize": None}
|
||||||
if profile == 2 or profile == 4:
|
if profile == 2 or profile == 4:
|
||||||
kwargs["budgets"] = { "transformer" : 100 if preload == 0 else preload, "text_encoder" : 100, "*" : 1000 }
|
kwargs["budgets"] = { "transformer" : 100 if preload == 0 else preload, "text_encoder" : 100, "*" : 1000 }
|
||||||
|
if profile == 4:
|
||||||
|
kwargs["partialPinning"] = True
|
||||||
elif profile == 3:
|
elif profile == 3:
|
||||||
kwargs["budgets"] = { "*" : "70%" }
|
kwargs["budgets"] = { "*" : "70%" }
|
||||||
offloadobj = offload.profile(pipe, profile_no= profile, compile = compile, quantizeTransformer = quantizeTransformer, loras = "transformer", **kwargs)
|
offloadobj = offload.profile(pipe, profile_no= profile, compile = compile, quantizeTransformer = quantizeTransformer, loras = "transformer", **kwargs)
|
||||||
@ -668,6 +670,7 @@ wan_model, offloadobj, transformer = load_models(use_image2video)
|
|||||||
if check_loras:
|
if check_loras:
|
||||||
setup_loras(use_image2video, transformer, get_lora_dir(use_image2video), "", None)
|
setup_loras(use_image2video, transformer, get_lora_dir(use_image2video), "", None)
|
||||||
exit()
|
exit()
|
||||||
|
del transformer
|
||||||
|
|
||||||
gen_in_progress = False
|
gen_in_progress = False
|
||||||
|
|
||||||
@ -932,10 +935,10 @@ def generate_video(
|
|||||||
reload_needed = state.get("_reload_needed", False)
|
reload_needed = state.get("_reload_needed", False)
|
||||||
file_model_needed = model_needed(image2video)
|
file_model_needed = model_needed(image2video)
|
||||||
if file_model_needed != model_filename or reload_needed:
|
if file_model_needed != model_filename or reload_needed:
|
||||||
|
del wan_model
|
||||||
if offloadobj is not None:
|
if offloadobj is not None:
|
||||||
offloadobj.release()
|
offloadobj.release()
|
||||||
offloadobj = None
|
del offloadobj
|
||||||
wan_model = None
|
|
||||||
gc.collect()
|
gc.collect()
|
||||||
yield f"Loading model {get_model_name(file_model_needed)}..."
|
yield f"Loading model {get_model_name(file_model_needed)}..."
|
||||||
wan_model, offloadobj, trans = load_models(image2video)
|
wan_model, offloadobj, trans = load_models(image2video)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user