461 Commits

Author SHA1 Message Date
CalamitousFelicitousness 23a280d7d4 chore(lora): gate the adaln projection lines behind SD_LORA_DEBUG
One line per projected layer is trace output, not a load-time message.
2026-09-16 19:26:21 +01:00
CalamitousFelicitousness 29fe895c0b feat(video): absolute per-request minimax shift on every path
Shift is a property of the trained schedule, not of the step count, so
the tab sliders take absolute values, defaulting to the shipped 12 and
3. video_minimax resolves each request from the request value or the
scheduler config inside apply_overrides, which the tab, the api and
the still path all call, so a request without values lands on the
shipped schedule. The api maps sampler_shift onto the video schedule
and gains audio_shift. Applied values are recorded as Video shift and
Audio shift; the PDD pin records what it enforces.
2026-09-15 23:01:41 +01:00
CalamitousFelicitousness 5a2870f345 feat(cli): stream quantized repos and measure the base error in lora-quant-fidelity
QuantRepo builds the transformer as a meta skeleton through the sdnq
conversion and streams each layer from the shards while it is analyzed,
so a repo larger than host memory costs one module at a time.
Remote-code classes resolve from the modeling file beside the
checkpoint. LoRA groups go through the arch grouper with the file-level
alpha and the adapt_weights hook, and fused saves are sliced onto their
modules. --reference measures each module's quantization error against
the unquantized repo and reports the delta against it; without one a
uniform-rounding estimate stands in. The tool imports again:
group_by_suffixes takes no bare prefixes and shared initializes before
the lora modules.
2026-09-15 03:52:04 +01:00
CalamitousFelicitousness 57328dc615 fix(lora): bind minimax extraction residuals
Layer-wise extractions (FastH3) ship diff_b on every projection and
diff on the norms; final_layer.norm had no rename onto norm_out.norm,
so its residual went unmapped.
2026-09-15 03:52:04 +01:00
CalamitousFelicitousness 5860ea9153 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.
2026-09-15 00:23:27 +01:00
CalamitousFelicitousness 3e705bc4af feat(lora): project adaln deltas onto the pruned minimax basis
The pruned transformer stores W @ P for each AdaLN projection against
the rank-8 basis in time_embedder.basis, so deltas trained at the
released width failed the shape check. try_load_lora gains an
adapt_weights hook and the MiniMax loader refits lora_down as down @ P,
which is exact.
2026-09-15 00:23:09 +01:00
CalamitousFelicitousness f001a38dd3 fix(lora): accept bare lora_down and lora_up parameter names
Wrappers holding the factors as nn.Parameter save them without the
.weight suffix (alibaba-pai PDD files), which the marker gate rejected
before grouping. The MiniMax-only normalization for that form is
removed.
2026-09-15 00:22:40 +01:00
Vladimir Mandic 489cbf8048 lora: keep parsed network data through pipeline
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-09-13 16:31:16 +02:00
Vladimir Mandic 70beb1ee7c add minimax-nunchaku-lite
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-09-13 12:49:57 +02:00
Vladimir Mandic 3f7a494b81 add minimax-8bit
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-09-11 10:12:51 +02:00
Vladimir Mandic f12818fc74 modular handle module with remote-code
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-09-11 10:12:51 +02:00
Vladimir Mandic 2ef1a0c87b stricter ty
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-09-08 10:22:42 +02:00
Vladimir Mandic 5f127650ea fix test pass
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-09-08 09:03:14 +02:00
Vladimir Mandic ce01461bf5 update logging
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-09-08 08:45:53 +02:00
CalamitousFelicitousness fa7243b239 fix(processing): round init images to a pipeline-declared multiple
The init-image snap rounds to the VAE factor, but the LLaDA pipeline needs
16 for its transformer patch and 32 when editing, since the source image is
halved for the semantic encoder. The pipeline now declares patch_size for
the shared rounding and init_image_multiple for input images, and
get_vae_scale_factor honours the latter when an init image is present.
check_inputs reads the same attributes.
2026-09-08 02:32:47 +01:00
CalamitousFelicitousness 51320d0289 fix(llada): initialize the rotary frequency buffer after loading
Transformers recreates non-persistent buffers with torch.empty_like during
the meta-device load and leaves them to _init_weights, which here covered
only Linear and Embedding. The text encoder therefore ran with uninitialized
memory as its rotary frequencies: a different table on every load, and
non-finite embeddings whenever the garbage overflowed at longer positions.
The initializer now recomputes inv_freq for the rotary module.
2026-09-08 01:24:51 +01:00
Ryan Meador 6013110e96 fix: honor offline mode in model loaders 2026-09-06 10:10:36 -04:00
CalamitousFelicitousness b434eb0c1b refactor(lora): route every bare key through the resolver
The parser no longer takes reference-name prefixes to tell bare
reference keys from bare diffusers keys. Any bare key carries the
sentinel and the arch resolver renames what it knows and passes the rest
through. Flux2 keeps its list for file-format detection only.
2026-09-06 04:25:44 +01:00
CalamitousFelicitousness 8b93d20b1a refactor(lora): drive the minimax mapping from one vocabulary
Block leaves and standalone renames each live in one table; the block
resolver and the musubi unflatten patterns are derived from them.
2026-09-06 04:25:44 +01:00
CalamitousFelicitousness 783b66c3be refactor(lora): offer unknown bare keys to the resolver
A bare key that matches no known prefix is parsed with the
bare-diffusers sentinel and handed to the resolver instead of being
dropped at parse time. The per-arch lists of bare diffusers prefixes are
gone, and a path that names no live module counts as unmapped.
2026-09-06 04:25:44 +01:00
CalamitousFelicitousness 1c91fb2047 refactor(lora): make the fused row reorder a chunk capability
A ChunkSpec can reorder equal row blocks of the rows it selects, so an
arch declares a swapped SwiGLU projection on the target instead of
permuting the state dict first. Only the LoRA family applies it; the
others skip a reordered target with a warning.
2026-09-06 04:25:44 +01:00
CalamitousFelicitousness 4a5dc98cb2 fix(lora): match the diffusers minimax lora converter
The reference fc1 is a fused [gate; value] SwiGLU projection and the
diffusers port stores [value; gate]. The native mapping did not swap the
halves, so gate and value deltas landed on each other's rows. The
mapping now also renames the standalone projections, reads a
metadata-only alpha, and accepts the musubi, peft dit and diffusers-named
layouts.
2026-09-06 04:25:44 +01:00
Vladimir Mandic 29de324ff7 update all google stuff
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-09-05 21:53:29 +02:00
Vladimir Mandic 9b06cfef80 add llada editing
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-09-05 13:36:18 +02:00
Vladimir Mandic cb0aea8eb5 llada t2i
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-09-05 13:01:36 +02:00
CalamitousFelicitousness 5875cdd29e feat(lora): remap anima 1.0 lora block indices onto depth-expanded checkpoints
Anima 2.9B interleaves twelve new blocks among the 28 of Anima 1.0, so a block
index trained against 1.0 names a different block on the expanded model. Every
such key still resolves, since blocks 0 to 27 exist either way, so the
mismatch was silent. The Anima loader now shifts base-depth indices onto the
blocks that carry those weights, keyed by (base depth, expanded depth) and
applied only when the transformer is expanded and the LoRA stays inside the
base depth. Transformer keys move; llm_adapter and text encoder keys keep
their own numbering.
2026-09-05 02:24:04 +01:00
CalamitousFelicitousness 6b92f2ba03 feat(model): add anima 2.9b as a base reference model
Anima-2.9B is a depth-expanded finetune of Anima 1.0 Base carrying 40
transformer blocks against the base repo's 28. The reference entry points at
the Diffusers conversion. Single-file releases load through the native loader:
TransformerSpec gains an infer_config hook, the Anima spec uses it to size
num_layers to the block indices in the file, and model_anima routes a
checkpoint-selected safetensors through the loader with the remaining
components from the base repo.
2026-09-05 01:45:49 +01:00
Vladimir Mandic df495a0f8d minimax native lora handler
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-09-01 17:38:49 +02:00
Vladimir Mandic 7c1e985ee7 minimax unpack latents
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-09-01 13:17:03 +02:00
Vladimir Mandic bed6bfc530 minimax preview
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-08-31 17:13:11 +02:00
Vladimir Mandic b8ba831a56 minimax vae preview
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-08-31 14:40:40 +02:00
Anai-Guo d556544b30 fix(lumina): pass to_compute_mask, not use_cache, to LLaDABlock.attention
attention() takes (q, k, v, attention_bias, layer_past, to_compute_mask) and
has no use_cache parameter. Three of the four call sites still pass
use_cache=, which raises TypeError; only LLaDALlamaBlock's non-checkpointed
branch -- the path the shipped block_type=llama config takes -- is correct.
2026-08-30 18:20:30 -07:00
CalamitousFelicitousness a2e6535b93 feat(krea2): publish the packed token layout
The transformer is the only site that knows every segment length, since the
pad to a multiple of 256 happens there and the text stream is padded to a
fixed 512 whatever the prompt. It now publishes the live runs of the mask, so
the selector pins the conditioning dense and drops the padding instead of
sparsifying the whole sequence. At 2048x2048 with a short prompt that is 6 of
264 key blocks per query row moved from pinned to dropped.
2026-08-28 12:40:23 +01:00
Vladimir Mandic 6cdc3bba7e switch to pillow-heif
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-08-26 07:49:26 +02:00
Vladimir Mandic 3c2236c4ed fix ideogram4
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-08-24 14:57:58 +02:00
Vladimir Mandic f4aa9d1b86 batch processing run register after script
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-08-23 11:34:34 +02:00
Vladimir Mandic 52f5c17435 update spandrel integation
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-08-21 09:35:15 +02:00
Vladimir Mandic c66342e2e6 fallback unpack-latents, log client auth, update login page
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-08-19 18:03:39 +02:00
Vladimir Mandic 05eef5e919 update nunchaku-lite
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-08-18 18:00:34 +02:00
Vladimir Mandic aa8cd9980e lint
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-08-17 14:35:52 +02:00
Vladimir Mandic f75e38c4ef krea2 optional dense masking
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-08-17 10:18:32 +02:00
Vladimir Mandic 392c969754 add offload state_dict
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-08-17 08:52:46 +02:00
Vladimir Mandic e3c57af560 pipeline init reordering
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-08-16 12:45:50 +02:00
Vladimir Mandic 84eda5b9cf Merge branch 'dev' into fix/group-offload-roles 2026-08-16 09:06:01 +02:00
Vladimir Mandic cd25a5296a video loader use generic methods and auth
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-08-16 09:02:40 +02:00
CalamitousFelicitousness c95189bdda fix(mageflow): decorate the vae entry points for offload hooks
The mage vae defined plain encode and decode methods, leaving offload
hooks nothing to fire on when the pipeline enters through them. The
diffusers entry decorator routes both through the hook path, the same as
every stock autoencoder.
2026-08-14 23:59:35 +01:00
CalamitousFelicitousness 15393b85ff fix(offload): scope force offload to managed components
The force sweep enumerated pipeline components and moved every module to
cpu, including components with no hook to bring them back. It now moves
only modules stamped for on-demand placement, walks the pipe variants
through the shared enumeration instead of the components property that can
raise, keeps going past a component that fails to move, and collects
garbage once per sweep rather than per module.
2026-08-14 23:58:57 +01:00
Vladimir Mandic b0649e0ec1 group offloading changes
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-08-14 15:59:51 +02:00
Vladimir Mandic 0ac89385a0 timers reporting
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-08-14 09:18:24 +02:00
Vladimir Mandic 181065f069 minimax image and reference
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-08-13 20:15:32 +02:00