mirror of
https://github.com/vladmandic/automatic
synced 2026-09-20 09:38:23 +02:00
feat(lora): surface method-selection reason in load logs
get_method now returns (method, reason). The reason distinguishes user opt-in (lora_force_diffusers), class-forced, hash-forced, and arch-unsupported routes from the default native path; surfaced in the info-level "Network load: type=LoRA load=<method>(<reason>)" line so users can tell why a given load took a particular path.
This commit is contained in:
@@ -50,11 +50,11 @@ def load_per_module(sd_model: diffusers.DiffusionPipeline, filename: str, adapte
|
||||
return adapter_name
|
||||
|
||||
|
||||
def load_diffusers(name: str, network_on_disk: network.NetworkOnDisk, lora_scale:float=shared.opts.extra_networks_default_multiplier, lora_module=None) -> network.Network | None:
|
||||
def load_diffusers(name: str, network_on_disk: network.NetworkOnDisk, lora_scale:float=shared.opts.extra_networks_default_multiplier, lora_module=None, reason: str = '') -> network.Network | None:
|
||||
t0 = time.time()
|
||||
name = name.replace(".", "_")
|
||||
sd_model: diffusers.DiffusionPipeline = getattr(shared.sd_model, "pipe", shared.sd_model)
|
||||
log.debug(f'Network load: type=LoRA name="{name}" file="{network_on_disk.filename}" detected={network_on_disk.sd_version} method=diffusers scale={lora_scale} fuse={shared.opts.lora_fuse_native}:{shared.opts.lora_fuse_diffusers}')
|
||||
log.debug(f'Network load: type=LoRA name="{name}" file="{network_on_disk.filename}" detected={network_on_disk.sd_version} method=diffusers reason={reason or "unknown"} scale={lora_scale} fuse={shared.opts.lora_fuse_native}:{shared.opts.lora_fuse_diffusers}')
|
||||
if not hasattr(sd_model, 'load_lora_weights'):
|
||||
log.error(f'Network load: type=LoRA class={sd_model.__class__} does not implement load lora')
|
||||
return None
|
||||
|
||||
Reference in New Issue
Block a user