Commit Graph
2189 Commits
Author SHA1 Message Date
Claude 40c7480d24 Results: a run going on is not listed a second time from its old record
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 20:58:26 +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 b19f7dec2f Log a line whenever a save changes a project's length
A project length that changed on its own is hard to place; the persisted Log now says when and from what to what.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 20:28:56 +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 2a68e5e4cd LoRA training: previews at chosen steps, Pause and Resume in the window; trains the whole set
Every N steps (Preview every) training waits, the pipeline makes a picture or clip with the LoRA so far
from the picked scene and the project's own settings, and training carries on from its saved state.
Pause and Resume work the same way by hand, with Preview now while paused. The What to learn choice is
gone: the Data step decides what is in the set. 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:12:09 +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 288108a84e docs: credit musubi-tuner in the README thanks
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 19:31:01 +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 60ce7592c1 feat: Bin and rated results sections of the training Data step are collapsible
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 18:59:04 +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 66323fc5b8 fix: training Data galleries show 3 columns like the Tags step
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 18:55:08 +00:00
Claude 6fed367c0a feat: show rated results as pictures to pick from in the training Data step
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 18:54:26 +00:00
Claude 0e3437dcaf feat: remove selected items from a training set
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 18:52:56 +00:00
Claude 13c1a70d5e Drop the unused suggestions from the captioned demos
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 18:38:43 +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 c3a40be163 fix: Save Video falls back to the CPU when the GPU encoder will not open, in gpu mode too, and says why
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019Q78Fcj3Wf9gZpbXmSAUuW
2026-10-17 17:59:13 +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 6c98e041b1 More space around the title and inside field groups
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 17:36:08 +00:00
Claude 2100120381 More room between fields in the Training settings groups
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 17:35:25 +00:00
Claude d3a76a09f3 More settings in the Training window stays open while options change
Collapsible gains onToggle so a redraw keeps its open state.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 17:34:32 +00:00
Claude 58e56b96d8 LoRA training add-on starts on when its package is already installed
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 17:20:38 +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 7dfbcf3c1b Training window: data, tags, train and results steps; docs and changelog
Built only from kit elements. UNTESTED on real models or GPUs; backend proven on tiny stand-ins on CPU.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 15:18:38 +00:00
Claude e638a06b13 UI kit: captioned.cell and captioned.side (preview with its tag editor)
A picture or clip with its caption in one card, for tagging training data.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 15:07:33 +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
Claude 355951c9b1 UI kit: chart.line, tags.editor and tags.cloud elements
Needed by the LoRA training window (loss graph, tag editing, tag frequencies).
Demos, behaviour tests and kit reference included.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpnF7GwNGMbngU11wjym7P
2026-10-17 14:40:39 +00:00
Claude a23700df54 Docs: features reach the page through app.dom; new kit elements; feature lint rules
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155S2Ye8BRUakV7GHAsmYWu
2026-10-17 14:26:44 +00:00
Claude 6b61c16bc8 Merge origin/dev (module ui.js removed) into the feature-lint work
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155S2Ye8BRUakV7GHAsmYWu
2026-10-17 14:26:04 +00:00
Claude 4916af2bcd UI: tests for app.dom, stage, cover, look, tiles; feature rule fixtures
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155S2Ye8BRUakV7GHAsmYWu
2026-10-17 14:25:18 +00:00
Claude 908feac364 UI: every feature builds from the kit and reaches the page through app.dom; kit gains stage, cover, corner, look
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155S2Ye8BRUakV7GHAsmYWu
2026-10-17 14:19:46 +00:00
Claude 326366c425 UI: feature lint rule, app.dom service, kit tiles/cards/grid/hero; move simple features onto them
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155S2Ye8BRUakV7GHAsmYWu
2026-10-17 14:10:17 +00:00
Claude f9863700e6 Remove module ui.js support: unused by any module or the live app
Drops the registry lookup, manifest field, /modules route, ui.js loading in panels.js, MODULE_RULES lint, services.js, their tests and docs.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EymCrVCefq4m9Uv6MAkzz5
2026-10-17 13:59:18 +00:00
Claude 51c87d85c0 Docs: tiny test models are real classes with random weights, not trained models
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0155S2Ye8BRUakV7GHAsmYWu
2026-10-17 13:57:27 +00:00
Claude 8b07537652 Docs: module ui.js is deliberately not loaded by the app
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EymCrVCefq4m9Uv6MAkzz5
2026-10-17 13:45:11 +00:00