37 Commits
Author SHA1 Message Date
digital-garbage 39707364d6 Watermark in Post (text or picture, corner, opacity, size, outline); settings of removed modules cleared from the project on open; round 2 fixes: trainer refuses a model it cannot copy with the reason, back-up slider keeps 1.0 and is held at 0.95, Post look hint 2026-11-08 02:47:09 +02:00
digital-garbage 1e2ac5ca67 Sparse attention method veda for MiniMax H3 (experimental), with an optional predictor download
Learned tile-sparse attention (Veda, arXiv 2605.30325): tiles, tile plans, predictor
scoring and selection in plain torch (tested on CPU, including a real tiny H3 with a
stand-in kernel), an INT8 Triton kernel derived from SageAttention (untested on a GPU),
installed through the same override and per-step wrapper as SLA. Runs at the predictor's
trained budget; LoRA, MXFP8, Two stages, dense steps and the attention backend compose.
Settings > Models offers the official Hugging Face download of the predictor on a click,
with its licence beside it; taggers and this share one downloader (core/fetch.py).
2026-11-05 21:32:39 +02:00
Claude 3adebb731f Rename FunPack to FunUI (5.0.3 Classy Chopper): /fun endpoint, wink logo, load-time migration of old names
Old project/workflow names and browser settings migrate on load; /funpack redirects to /fun.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016acRss69eH1235eRdFTZHY
2026-10-25 13:11:03 +00:00
Claude 28d191133b Training: free the card at the start of every run, cached data or not
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-18 23:48:41 +00:00
Claude ad2157110b Training: the node always runs (a second resume was answered from ComfyUI's cache in 0s); the window adopts the server's pause instead of an older one
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-18 23:39:55 +00:00
Claude 7ef57ba162 Rated results: caption only from the file's own prompt, never the project's; keep every file listed and mark doubtful ratings
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-18 22:24:27 +00:00
Claude 63ab3a3ae6 LoRA training: a rated result made in this session takes the prompt embedded in its file; an older rating on a reused name is left out
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-18 22:17:02 +00:00
Claude 1139c38cf7 LoRA training: rated results are checked against the file itself, files added without words take the prompt embedded in them, no length limit on prefix and postfix
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-18 22:14:29 +00:00
Claude 797cbcc579 LoRA training: time per step, a graph of it, and the time spent in all (restarts included)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-18 00:15:41 +00:00
Claude cd4c576e6e LoRA training: download the saved step copies and the preview as well as the final LoRA
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 22:40:15 +00:00
Claude bfaee07258 LoRA training: Download LoRA on a finished run in Results
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 22:35:32 +00:00
Claude 9aa1791ec8 LoRA training: encoded clips and captions are kept on disk and reused by the next run
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 22:00:51 +00:00
Claude 3c421b2c1d LoRA training: fix resume in inference mode, Restore and continue, live graph in Results
The saved optimizer state was read in ComfyUI's inference mode, so the first optimizer step after a resume failed. It is copied to normal tensors first. A failed or stopped run keeps its saved state and Results offers Restore and continue. The graph, progress and previews of a running training moved from Train to Results; Train says where to look.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 20:54:49 +00:00
Claude 65a731584c LoRA training: save a copy of the LoRA every N steps as name_stepN
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 20:14:16 +00:00
Claude 6603f42ecb LoRA training: pause, resume and a preview LoRA at chosen steps (backend)
A run can wait at a step boundary (Pause, or every N steps for a preview): its state is saved,
the LoRA so far is written as <name>_preview.safetensors, and the card is let go. Resume carries on
from the saved state under the same run. UNTESTED on real weights.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 20:08:01 +00:00
Claude 919097c732 LoRA training: our own loop for H3, and a Log that survives a crash
The H3 run trains with a loop of our own (LoRA on the attention and feed-forward projections of the
50 blocks, per-block checkpoint, uniform noise levels, musubi-tuner's approach) while ComfyUI carries
the batches. Every Log record is flushed to disk as it is said and reloaded on start; the run
writes each stage and step to it. ComfyUI's own offloading toggle is ignored by the new loop.
UNTESTED on the real weights.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 19:57:06 +00:00
Claude a13f037f72 H3 training: modulate blocks out of place so the backward pass stops keeping every block's recompute alive
Measured on a tiny H3: backward growth was ~75 MB per block, now flat (61-88 MB at 2, 8 and 16 blocks).
The in-place mul_/addcmul_ on slices of the stream in the block helpers were the cause.
UNTESTED on the real weights.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 19:47:34 +00:00
Claude 498eb731b6 feat: training learning rate defaults to musubi-tuner's 0.0001 and the H3 note carries its recipe
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 19:34:17 +00:00
Claude d0d572c4ec feat: block swap option for LoRA training and a per-block memory log in the backward pass
Block swap keeps the frozen weights of the last N transformer blocks in system
memory and lets ComfyUI's weight casting fetch them one layer at a time. The idea
and the block count as the one knob follow musubi-tuner's block swap (kohya-ss,
Apache License 2.0); this is an independent implementation.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 19:30:50 +00:00
Claude 905a356623 fix: a failed training run lets go of its memory, and the next run starts by freeing what is left
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 19:08:38 +00:00
Claude c793a9daac feat: log what the forward pass left on the card just before the first backward passes
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 19:07:27 +00:00
Claude 0d2b6779be feat: show a clip's frame count and rate in the training pickers and tags step
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 18:58:03 +00:00
Claude 45b60ac874 Training captions are plain text boxes; the set has its own prefix and postfix
Tags from the tagger are added after a comma and the caption is never reworded.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 18:38:03 +00:00
Claude b0afaab8db Training loads the model and copies its inputs outside inference mode
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 18:33:26 +00:00
Claude a070ce9400 Training reads every clip for as many frames as the shortest gives, and allows up to 1025
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 18:30:50 +00:00
Claude 50ed30dfc7 Rated results are listed only when their file is still on this machine
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 18:21:56 +00:00
Claude bb9ec64a46 H3 training checkpoints one block at a time and the text refiner on its own
Depth 1 made the whole model a single checkpoint, so nothing was saved.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 18:14:55 +00:00
Claude 1dfb4c5f09 Training logs the shape of the first latent and text
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 18:07:58 +00:00
Claude e715eeb5eb Training logs the card after each stage of the trainer's setup
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 18:02:39 +00:00
Claude e583a3c5cf Training reports what the card holds before and after freeing it
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 17:56:22 +00:00
Claude c4adc1242d Training takes the model file from the pipeline and loads it once itself
The loader node no longer runs in front of the trainer; its copy shares that one model.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 17:48:06 +00:00
Claude 193822cf25 Training copies a dynamic-VRAM model as a plain one so only one model sits on the card
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 17:43:34 +00:00
Claude e3e8d1276b Training frees the VAEs, text encoder and other models before the trainer copies the model
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 17:37:46 +00:00
Claude 81d9f0be23 Training: SD-style tiny run tested, refusals reach the window, waiting hint
Picture models proven on a tiny UNet (one shape and mixed shapes). Light theme checked.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 15:58:24 +00:00
Claude cfb55eff45 Training: choose which prompt parts become captions (prefix, main, postfix, variables)
Variables expand when ticked, stay as written otherwise.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 15:55:24 +00:00
Claude a3c87a3b5c Training: rated results bring their prompts as captions (optional)
Shortcuts expanded; variables, prefixes and postfixes left out. A switch in the Data step turns it off.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 15:53:04 +00:00
Claude ab100f85a4 LoRA training add-on: sets, tagger, trainer node on ComfyUI's Train LoRA, H3 support
Backend only (window follows). Switched on in Settings > Modules. H3 repairs proven on a tiny H3 on CPU, UNTESTED on real weights.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 15:05:57 +00:00