VVladimir Mandicnetworks cosmetics and dlss logging
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
linting Signed-off-by: Vladimir Mandic <mandic00@live.com> | 2 个月前 | |
minimax crop init/last to aspect ratio, update logging, prompt strip on lora parse, video prompt enhance consider image Signed-off-by: Vladimir Mandic <mandic00@live.com> | 11 天前 | |
feat(lora): per-layer select stack modes klora and estlora Two-network subject+style sets select a winner per layer instead of summing: scores are top-K magnitude sums (klora) or Frobenius energies (estlora), and a timestep ramp shifts layers from the subject network toward the style network across sampling, reduced to at most one precomputed flip per layer per pass. On sub-8-bit SDNQ the pair rides the side-channel as separate segments flipped in place; other layers recompute the winner from the pristine backup, so select modes force backup mode. Selection resets per pass from the callback setup and is gated off under model compile. estlora's measured style-discrepancy term is exposed as an option. Adds XYZ axes for the stack settings. | 24 天前 | |
feat(lora): per-block strength <lora:name:1.0:lbw=VALUE> scales each targeted layer's delta by a slot of a per-architecture block vector. VALUE is a preset name, a scalar, or a comma vector; presets stretch onto the block count of the current model and the a1111 17-slot and 12-slot layouts are accepted on sd and sdxl. The factor enters through the module multiplier, so every apply path carries it: the exact factor channel, hosting, requantize routing, dense stack combines and select scoring. - modules/lora/lora_blocks.py: slot classification from network_layer_mapping (namespace-first, anchored chain prefixes), preset resolution reusing the merge block-weight tables with BASE forced neutral, generated classic segment names plus DOUBLE/SINGLE chain names, per-model memoization - the raw spec stages through pending_config and promotes with the other multipliers, keeping fuse removal consistent - block weights join the activation signature, the per-module apply stamp and the factor cache identity; entries without block weights keep their existing signature bytes - non-native load methods warn once and ignore the argument | 24 天前 | |
fix(lora): bound calibration capture and cover unet denoisers Persist now fires either when every hooked layer reaches the token quota or at a fixed denoiser-forward deadline; layers under a small token floor are omitted and stay on plain truncation. The all-done barrier alone never fired on models whose modulation or pooled projections see a few tokens per forward, so hooks stayed registered forever and statistics recollected every session. eligible_modules walks the transformer or the unet, so unet checkpoints collect statistics at all. - lora_sdnq: drop the unused use_previous parameter; the factor cache store now always runs inside a begin_pass - tests: deadline persist, token-floor omission, unet root walk | 26 天前 | |
fix(lora): record how the pass left the weights The mode shown in the load and unload lines was derived at print time from the live fuse setting, so a set applied under one setting was reported under whatever the setting said later, and the unload line described the pass that was about to replace it rather than the one being removed. The pass records the mode it actually used. last_backup_size was created on lora_common by assignment from networks.py and read back through a getattr default; both fields are declared where they live now. | 22 天前 | |
lora debug logging and support minimax-ref2va Signed-off-by: Vladimir Mandic <mandic00@live.com> | 11 天前 | |
update openvino, refactor compile overrides, fix lora load Signed-off-by: Vladimir Mandic <mandic00@live.com> | 19 天前 | |
fix(lora): handle flattened clip text model in kohya te keys transformers >=5.6 removed the text_model wrapper from CLIPTextModel, so kohya te keys no longer matched the network layer mapping and text encoder weights were silently skipped. KeyConvert retries te keys with the text_model segment dropped; lora extraction keeps writing canonical kohya naming for flattened encoders. | 2 个月前 | |
feat(lora): per-block strength <lora:name:1.0:lbw=VALUE> scales each targeted layer's delta by a slot of a per-architecture block vector. VALUE is a preset name, a scalar, or a comma vector; presets stretch onto the block count of the current model and the a1111 17-slot and 12-slot layouts are accepted on sd and sdxl. The factor enters through the module multiplier, so every apply path carries it: the exact factor channel, hosting, requantize routing, dense stack combines and select scoring. - modules/lora/lora_blocks.py: slot classification from network_layer_mapping (namespace-first, anchored chain prefixes), preset resolution reusing the merge block-weight tables with BASE forced neutral, generated classic segment names plus DOUBLE/SINGLE chain names, per-model memoization - the raw spec stages through pending_config and promotes with the other multipliers, keeping fuse removal consistent - block weights join the activation signature, the per-module apply stamp and the factor cache identity; entries without block weights keep their existing signature bytes - non-native load methods warn once and ignore the argument | 24 天前 | |
fix grid with lora, add dlss framgen logging, add 8bit minimax variants Signed-off-by: Vladimir Mandic <mandic00@live.com> | 7 天前 | |
fix(lora): keep the loaded-network type contract under nunchaku The nunchaku path replaced the loaded network list with the on-disk entries it composed from, so reading a loaded network back hit an object without the fields it expects: choosing the reported method reads len(net.modules) and raised on every set change, costing that generation its infotext and trigger tags. The adapter was already composed by then, so the image was unaffected. Wrap the composed set in Network objects and mutate the list in place. | 22 天前 | |
minimax crop init/last to aspect ratio, update logging, prompt strip on lora parse, video prompt enhance consider image Signed-off-by: Vladimir Mandic <mandic00@live.com> | 11 天前 | |
fix(lora): route codebook layers on the mean level gap SDNQ codebook layers keep their Lloyd levels in the scale slot, so reading scale.mean() as the grid step returned the levels' near-zero mean and sent sub-step deltas to requantize, where the grid erases them. grid_step returns the mean adjacent-level gap for those layers and the plain scale mean otherwise. | 16 天前 | |
fix(lora): align the stack ramp fallback with its option default The ramp read 1.5 when the option was absent while the option itself defaults to 0.0, so a config without the key ran a ramp the settings page said was off. Only reachable where the options registry is not loaded, which is where the offline suites run. | 22 天前 | |
refactor(lora): drop the unused timer fields and accumulate deactivate time The restore field had no writer and add() had no caller. Deactivate assigned its elapsed time where activate accumulates, so a generation that unloaded more than once reported only the last pass; both are zeroed together when the generation ends. | 22 天前 | |
full codespell coverage Signed-off-by: Vladimir Mandic <mandic00@live.com> | 3 个月前 | |
fix(lora): accept lowercase lora_a and lora_b factor names TaoLive adapters save the factors as lora_a and lora_b without the .weight suffix, which no suffix table knew, so the file bound nothing. | 6 天前 | |
networks cosmetics and dlss logging Signed-off-by: Vladimir Mandic <mandic00@live.com> | 3 天前 | |
feat(flux2): native BOFT (butterfly-OFT) support Discriminated from OFT by 4-D oft_blocks shape (boft_m, block_num, block_size, block_size), mirroring LyCORIS algo_check. The cascade of log_2(block_num)+1 Cayley rotations is applied via the unflatten/transpose/flatten reshape sequence in NetworkModuleBOFT, porting LyCORIS make_weight verbatim. | 4 个月前 | |
Major lora refactor: works on my machine edition | 1 年前 | |
fix(lora): set GLora dim so alpha scaling is applied Without self.dim, NetworkModule.calc_scale returns 1.0 even when alpha is present, silently dropping the trained scaling. Use w1b.shape[0] as the rank, matching the network_lora and network_hada conventions. | 4 个月前 | |
feat(lora): add NetworkModuleHadaChunk for fused-weight LoHA targets Slices w1a/w2a at the assigned chunk's row range and computes the partial Hadamard product, mirroring NetworkModuleLokrChunk. Used when LoHA targets a fused weight (e.g. img_attn.qkv) on models that expose split Q/K/V modules. | 4 个月前 | |
Major lora refactor: works on my machine edition | 1 年前 | |
refactor(lora): extract the lokr operand rebuild The seventeen lines that rebuild w1 and w2 from whatever the file stored were copied into all three lokr variants, character for character. They move to the base class; each variant keeps only the part that differs, which is how it addresses the product. The base class keeps its conv branch, which the two chunk variants deliberately lack: those address 2-d fused weights. | 22 天前 | |
perf(lora): skip the discarded init when building lora modules create_module built each up/down module with the default constructor, which kaiming-initializes the parameter, then copied the stored weight over the whole thing. The init is thrown away every time and costs about four times the copy: 22.1ms per module against 2.5ms, or 5.8s against 0.7s over a 264-module lora, on every load. skip_init constructs on meta and materializes uninitialized, so the copy still fully defines the parameter. Dtype, device and values are unchanged, including the fp32 upcast of bf16 files that the copy performs. | 1 个月前 | |
lint fixes Signed-off-by: Vladimir Mandic <mandic00@live.com> | 1 年前 | |
fix(lora): guard OFT constraint for LyCORIS oft_diag files LyCORIS files have self.constraint=None (only the kohya path uses it). Wrap the .to() call to avoid the NoneType AttributeError. | 4 个月前 | |
chore(lora): trace pdd head fusion under SD_LORA_DEBUG One line per fused block shows which heads a generation runs on. | 5 天前 | |
feat(lora): parallel decoding heads for pdd acceleration files PDD files pair a backbone LoRA with the output projections repeated per interval of a training grid; each step fuses the heads of its block into one projection. network_pdd reads the grid from the metadata, swaps a ParallelHead in for each projection, fuses from the scheduler's step_index and pins the step count and shift while heads are installed. The MiniMax loader declares which scheduler each head follows. | 6 天前 |