CCalamitousFelicitousnessfix(lora): apply full-diff norm targets and map z-image's renamed modules
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
create tests folder Signed-off-by: vladmandic <mandic00@live.com> | 6 个月前 | |
update changelog and submodules Signed-off-by: vladmandic <mandic00@live.com> | 4 个月前 | |
complete refactor javascript to typescript and reorg frontend files and folders Signed-off-by: Vladimir Mandic <mandic00@live.com> | 3 个月前 | |
complete refactor javascript to typescript and reorg frontend files and folders Signed-off-by: Vladimir Mandic <mandic00@live.com> | 3 个月前 | |
complete refactor javascript to typescript and reorg frontend files and folders Signed-off-by: Vladimir Mandic <mandic00@live.com> | 3 个月前 | |
regen all localizations Signed-off-by: vladmandic <mandic00@live.com> | 5 个月前 | |
fix(lora): support embedding-target LoRA and companion bias deltas Route nn.Embedding targets (and the SDNQEmbedding / ScaledWordEmbedding subclasses) through the linear LoRA path: the weight delta is up@down over the [vocab, dim] table, same shape and merge as a Linear. Apply a companion bias delta (diff_b) as ex_bias on the same module rather than dropping it; collect diff_b into the LoRA group so it rides the existing module instead of a separate Full module that would collide on the network key. | 2 个月前 | |
complete refactor javascript to typescript and reorg frontend files and folders Signed-off-by: Vladimir Mandic <mandic00@live.com> | 3 个月前 | |
feat(lora): run the full adapter family chain on every native arch zimage, chroma, ernie and krea2 chained only lora/lokr/loha/oft while flux2 and anima ran all eight families, so ia3/glora/norm/full files (e.g. full-diff extractions with diff/diff_b keys) reported not loaded on the short-chain arches. The generic family loaders are arch-agnostic; wire the missing four into each chain. - add ia3/glora/norm/full wrappers and chain entries to the four arch modules, with matching suffix/marker re-exports - add a chain-level full-diff test per suite: zimage covers the legacy attention.out alias and the fused-qkv skip, chroma the proj rename, ernie the passthrough | 1 个月前 | |
fix openpose and add test-compile Signed-off-by: Vladimir Mandic <mandic00@live.com> | 3 个月前 | |
feat(api): add detailer postprocess script and /sdapi/v1/detail endpoint Surface YoloRestorer.restore() as a standalone operation: a Detailer postprocessing script in the Process tab and a thin /sdapi/v1/detail endpoint, neither requiring a base generation pass. - modules/postprocess/yolo.py: YoloRestorer.make_processing() builds the synthetic Img2Img processing object both entry points feed to restore(), resolving the seed so the inpaint passes are reproducible - modules/api/process.py: post_detail handler exposes the full detailer parameter set and returns the detailed image plus optional annotations as base64 - scripts/postprocessing_detailer.py: reuses shared.yolo.ui('extras') and runs through make_processing() - modules/postprocessing.py: run_extras takes a per-script script_args dict, also letting the extras API drive other scripts such as Remove background; omitting it leaves existing callers unchanged - modules/api/models.py: ReqDetail / ResDetail - modules/processing_info.py: guard create_infotext's Image/Hires CFG reporting against an unset (None) cfg_image, matching the is-not-None checks the other cfg_image readers use; the detailer inpaint pass runs with it unset - test/test-detailer-api.py: covers both paths; effect tests measure the diff inside the detected region with extreme isolated parameter values, and the suite disables model quantization for the run and restores the original settings afterward | 3 个月前 | |
feat(lora): run the full adapter family chain on every native arch zimage, chroma, ernie and krea2 chained only lora/lokr/loha/oft while flux2 and anima ran all eight families, so ia3/glora/norm/full files (e.g. full-diff extractions with diff/diff_b keys) reported not loaded on the short-chain arches. The generic family loaders are arch-agnostic; wire the missing four into each chain. - add ia3/glora/norm/full wrappers and chain entries to the four arch modules, with matching suffix/marker re-exports - add a chain-level full-diff test per suite: zimage covers the legacy attention.out alias and the fused-qkv skip, chroma the proj rename, ernie the passthrough | 1 个月前 | |
feat(lora): reconstruct the lycoris sparse bias residual triplet LyCORIS extraction with use_sparse_bias saves bias_indices/bias_values/ bias_size per module: the sparse weight-shaped remainder of the SVD extraction, named bias for historical reasons. The keys were dropped by both loader paths, so extracted adapters applied without the residual correction; the dense-bias branch in finalize_updown that consumes it was unreachable. - rebuild the COO tensor in NetworkModule.__init__ (int16 indices cast to long), shared by the native and generic loaders; kept sparse so the dense += sparse in finalize_updown materializes per module at apply instead of near-model-size densification at load - accept the triplet suffixes in LORA_SUFFIXES; fused targets skip with the weight-shaped-bias warning - cover an extraction-faithful numeric round-trip and the fused skip in the offline suite | 1 个月前 | |
fix(api): resolve sampler names case-insensitively to canonical form validate_sampler_name only matched the exact, case-sensitive name, so near-miss client names such as lowercase variants were rejected while an omitted name silently used the model scheduler via the Default sentinel. Fall back to find_sampler and return the canonical name so create_sampler applies the intended sampler; unknown names still return 404. Add an API test covering case-insensitive resolution and rejection of unknown names. | 3 个月前 | |
add wildcards to image metadata and note separate template from prompt field Signed-off-by: Vladimir Mandic <mandic00@live.com> | 3 个月前 | |
refactor(ideogram4): adopt diffusers-native pipeline diffusers shipped first-party Ideogram 4 (transformer + pipeline) in 9b0818cf, so drop the in-tree port and keep only SD.Next integration glue. Bump the diffusers pin to 9b0818cf and build diffusers' Ideogram4Pipeline from a thin loader with per-transformer SDNQ. A small subclass keeps the text encoder resident for the Qwen3-VL tap under balanced offload, and the step callback denormalizes the preview latent from vae.bn before unpatchify. Deletes the ported transformer, pipeline, scheduler, text encoder, and latent-norm constants. | 3 个月前 | |
feat(model): load nvfp4 comfy_quant checkpoints via sdnq nvfp4 layers keep their packed 4-bit codes and land on SDNQ grouped quantization as float4_e2m1fn: the nibble order is swapped once at load, the e4m3 block scales are unswizzled from the cuBLAS tile layout, and the fp32 global scale folds into them as per-group scales. Marker orig_shape acts as a cross-check and alignment padding is sliced against the model dimensions. - reject nvfp4 markers with unknown group sizes or convrot flags - accept uint8 storage in the krea2 real-file check | 1 个月前 | |
perf(model): adopt fp8 weights through the uint8 codec when fp8 cannot compile Triton cannot compile e4m3 loads before sm_89, so fp8 weights fall back to eager dequant there. The uint8-backed float8_e4m3fn_sdnq codec decodes identically now that subnormals are handled (the two NaN codes become +/-480), and its compiled dequant runs about 6x faster than eager native fp8. Pre-quantized fp8 layers are viewed as uint8 at adoption when compiled dequant is enabled on such hardware; the eager gate remains the safety net for every other fp8 path. | 1 个月前 | |
test(native-loader): add shape-mismatch unit and override self-heal API test | 3 个月前 | |
add boogu Signed-off-by: Vladimir Mandic <mandic00@live.com> | 2 个月前 | |
test: add sampler differential API tester Drives txt2img/img2img with the full per-sampler scheduler-option matrix (sigma method, prediction type, timestep spacing, beta schedule, solver order, shift, low order, thresholding, dynamic shift, rescale betas), one option at a time over a pinned baseline, and measures every case against the default: applied, inert, marginal, rejected, or fallback. Detects silent fallback via the infotext Scheduler class and annotates every saved image with its full requested configuration. --sweep runs a reduced matrix per sampler and emits an empirical capability report. | 2 个月前 | |
schedulers fix zero-sigma final-step Signed-off-by: Vladimir Mandic <mandic00@live.com> | 2 个月前 | |
refactor: update CLI tools for caption module - Rename cli/api-interrogate.py to cli/api-caption.py - Update cli/options.py, cli/process.py for new module paths - Update cli/test-tagger.py for caption module imports | 6 个月前 | |
improve select_from_weighted_list Signed-off-by: vladmandic <mandic00@live.com> | 5 个月前 | |
fix(lora): apply full-diff norm targets and map z-image's renamed modules A full-weight extraction on Z-Image bound 308 modules and applied 172 of them, silently dropping the rest, and left 71 more unmapped. assign_network_names_to_compvis_modules puts every transformer module in network_layer_mapping but skips stamping network_layer_name on norms, which is the attribute the apply pass keys off. try_load_full bound those modules through the mapping and they then never applied; stamp them loader-locally, as try_load_norm already does. Z-Image also names three module groups differently from the diffusers tree: the qk-norms (q_norm/k_norm vs norm_q/norm_k), and the patch embedder and final layer, which live in ModuleDicts keyed by "{patch_size}-{f_patch_size}" and so carry a key the checkpoint has no notion of. Read that key from the live model rather than hardcoding it. The counts close exactly: 68 qk-norms plus 3 non-block targets are the 71 that went unmapped. | 1 个月前 | |
complete refactor javascript to typescript and reorg frontend files and folders Signed-off-by: Vladimir Mandic <mandic00@live.com> | 3 个月前 |