mirror of
https://github.com/vladmandic/automatic
synced 2026-09-18 16:54:33 +02:00
feat(lora): log exact side-channel applies
The exact factor path was the only apply route with no log line; its success read as silence. Track layers taking it beside the hosted and fallback lists and report all three as key=value apply lines (apply=exact/hosted/requantize); the stack fallback notices use the same form. The suite pins its stack-mode baseline to sum so a mode left set in user config cannot reroute tests that assume plain summation.
This commit is contained in:
@@ -78,10 +78,10 @@ def active_select(n_loaded):
|
||||
if m not in SELECT_MODES:
|
||||
return False
|
||||
if n_loaded != 2:
|
||||
warn_once('select-count', f'Network stack: mode={m} networks={n_loaded} requires exactly 2, using sum')
|
||||
warn_once('select-count', f'Network stack: mode={m} networks={n_loaded} required=2 fallback=sum')
|
||||
return False
|
||||
if select_blocked():
|
||||
warn_once('select-compile', f'Network stack: mode={m} disabled with model compile, using sum')
|
||||
warn_once('select-compile', f'Network stack: mode={m} compile=model fallback=sum')
|
||||
return False
|
||||
return True
|
||||
|
||||
@@ -290,7 +290,7 @@ def weight_selection(module, entry, winner):
|
||||
from modules.lora.lora_apply import network_apply_weights
|
||||
backup = getattr(module, 'network_weights_backup', None)
|
||||
if not isinstance(backup, torch.Tensor): # fuse mode keeps a bool sentinel, not a pristine copy
|
||||
warn_once('select-nobackup', 'Network stack: select flip skipped, no weight backup')
|
||||
warn_once('select-nobackup', 'Network stack: flip=skipped backup=none')
|
||||
return
|
||||
net = next((n for n in l.loaded_networks if n.name == entry['nets'][winner]), None)
|
||||
net_module = net.modules.get(entry['layer'], None) if net is not None else None
|
||||
|
||||
Reference in New Issue
Block a user