From 032bd46de2fd3a9c4e4d4410799273bfc2297cfd Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Mon, 31 Mar 2025 20:53:46 -0400 Subject: [PATCH] improve mp4 download Signed-off-by: Vladimir Mandic --- modules/lora/networks.py | 15 ++++++++++++++- modules/modelloader.py | 8 ++++---- modules/shared.py | 2 +- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/modules/lora/networks.py b/modules/lora/networks.py index ecbaebce8..4903e5a6f 100644 --- a/modules/lora/networks.py +++ b/modules/lora/networks.py @@ -276,7 +276,8 @@ def network_load(names, te_multipliers=None, unet_multipliers=None, dyn_dims=Non while len(lora_cache) > shared.opts.lora_in_memory_limit: name = next(iter(lora_cache)) - lora_cache.pop(name, None) + lora = lora_cache.pop(name, None) + del lora if not skip_lora_load and len(diffuser_loaded) > 0: shared.log.debug(f'Network load: type=LoRA loaded={diffuser_loaded} available={shared.sd_model.get_list_adapters()} active={shared.sd_model.get_active_adapters()} scales={diffuser_scales}') @@ -535,6 +536,10 @@ def network_deactivate(include=[], exclude=[]): modules[name] = list(component.named_modules()) active_components.append(name) total = sum(len(x) for x in modules.values()) + if shared.opts.lora_apply_gpu: + device = devices.device + else: + device = devices.cpu if len(previously_loaded_networks) > 0 and debug: pbar = rp.Progress(rp.TextColumn('[cyan]Network: type=LoRA action=deactivate'), rp.BarColumn(), rp.TaskProgressColumn(), rp.TimeRemainingColumn(), rp.TimeElapsedColumn(), rp.TextColumn('[cyan]{task.description}'), console=shared.console) task = pbar.add_task(description='', total=total) @@ -560,6 +565,10 @@ def network_deactivate(include=[], exclude=[]): applied_layers.append(network_layer_name) del batch_updown, batch_ex_bias module.network_current_names = () + try: + module.to(device) + except Exception: + pass if task is not None: pbar.update(task, advance=1, description=f'networks={len(previously_loaded_networks)} modules={active_components} layers={total} unapply={len(applied_layers)}') @@ -626,6 +635,10 @@ def network_activate(include=[], exclude=[]): applied_bias += 1 del batch_updown, batch_ex_bias module.network_current_names = wanted_names + try: + module.to(device) + except Exception: + pass if task is not None: pbar.update(task, advance=1, description=f'networks={len(loaded_networks)} modules={active_components} layers={total} weights={applied_weight} bias={applied_bias} backup={backup_size}') diff --git a/modules/modelloader.py b/modules/modelloader.py index 412ef0aa1..a132b765a 100644 --- a/modules/modelloader.py +++ b/modules/modelloader.py @@ -90,7 +90,7 @@ def download_civit_preview(model_path: str, preview_url: str): is_json = preview_file.lower().endswith('.json') if is_json: shared.log.warning(f'CivitAI download: url="{preview_url}" skip json') - return '' + return 'CivitAI download error: JSON file' if os.path.exists(preview_file): return '' res = f'CivitAI download: url={preview_url} file="{preview_file}"' @@ -101,15 +101,15 @@ def download_civit_preview(model_path: str, preview_url: str): img = None shared.state.begin('CivitAI') if pbar is None: - pbar = p.Progress(p.TextColumn('[cyan]{task.description}'), p.DownloadColumn(), p.BarColumn(), p.TaskProgressColumn(), p.TimeRemainingColumn(), p.TimeElapsedColumn(), p.TransferSpeedColumn(), console=shared.console) + pbar = p.Progress(p.TextColumn('[cyan]Download'), p.DownloadColumn(), p.BarColumn(), p.TaskProgressColumn(), p.TimeRemainingColumn(), p.TimeElapsedColumn(), p.TransferSpeedColumn(), p.TextColumn('[yellow]{task.description}'), console=shared.console) try: with open(preview_file, 'wb') as f: with pbar: - task = pbar.add_task(description="Download starting", total=total_size) + task = pbar.add_task(description=preview_file, total=total_size) for data in r.iter_content(block_size): written = written + len(data) f.write(data) - pbar.update(task, advance=block_size, description="Downloading") + pbar.update(task, advance=block_size) if written < 1024: # min threshold os.remove(preview_file) raise ValueError(f'removed invalid download: bytes={written}') diff --git a/modules/shared.py b/modules/shared.py index 06b72790b..0235e2e31 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -926,7 +926,7 @@ options_templates.update(options_section(('extra_networks', "Networks"), { "lora_preferred_name": OptionInfo("filename", "LoRA preferred name", gr.Radio, {"choices": ["filename", "alias"], "visible": False}), "lora_add_hashes_to_infotext": OptionInfo(False, "LoRA add hash info to metadata"), "lora_fuse_diffusers": OptionInfo(True, "LoRA fuse directly to model"), - "lora_apply_gpu": OptionInfo(True, "LoRA load directly on GPU"), + "lora_apply_gpu": OptionInfo(False, "LoRA load directly on GPU"), "lora_legacy": OptionInfo(not native, "LoRA load using legacy method"), "lora_force_diffusers": OptionInfo(False if not cmd_opts.use_openvino else True, "LoRA load using Diffusers method"), "lora_maybe_diffusers": OptionInfo(False, "LoRA load using Diffusers method for selected models"),