Skip to content

Character LoRA training — follow-ups (resume, auto-slicing, e2e training validation) #1227

Description

@atomantic

Follow-ups deferred from the initial Character LoRA Training feature (see docs/plans/2026-06-12-character-lora-training.md):

  • End-to-end smoke training on both runtimes. The trainers are unit/CLI-verified but no real run has executed yet. mflux: install the venv (scripts/setup-image-video.sh), run a 20-step training on a 5-image dataset, confirm the wrapper's entrypoint probe + output regexes match the installed mflux version (scripts/train_mflux_lora.py STEP_RES / checkpoint zip layout / adapter discovery in find_adapter), pin mflux in server/lib/pythonSetup.js PIP_NAMES if its training surface churns. flux2: 20-step run on black-forest-labs/FLUX.2-klein-4B, verify save_lora_weights round-trips through scripts/flux2_macos.py --lora-paths on the SDNQ-quantized inference pipeline (watch for lora_utils.py silent-skip warnings), and validate the render_sample 8-step Euler preview decodes correctly.
  • Full optimizer-state resume. --resume-from in scripts/train_flux2_lora.py reloads adapter weights only — optimizer state is not persisted, so resume restarts AdamW moments. The run-delete route and boot reconcile already keep checkpoints; add a 'retry from checkpoint' param on POST /api/lora-training/runs that threads resumeFrom/resumeCheckpoint (builders already accept it: server/services/loraTraining/runtimes.js).
  • Vision-LLM crop proposals for reference-sheet slicing. sliceReferenceSheet (server/services/loraDatasetGenerate.js) uses a fixed grid because turnaround layouts are model-generated/non-deterministic; the user prunes bad crops. A vision-LLM pass could propose bounding boxes per panel instead. — Shipped in Character LoRA follow-ups: vision-LLM auto-slicing, CLI-provider captioning, training queue UX #1408.
  • Caption via CLI providers. loraDatasetCaption.js reuses describeImageDataUrl which only supports API-type providers; CLI providers (claude/codex with vision) could caption too. — Shipped in Character LoRA follow-ups: vision-LLM auto-slicing, CLI-provider captioning, training queue UX #1408.
  • Training queue UX. The Render Queue UI shows training rows via the PARAM_ALLOWLIST label fields but has no training-specific row treatment (sample thumbnails, loss sparkline). — Shipped in Character LoRA follow-ups: vision-LLM auto-slicing, CLI-provider captioning, training queue UX #1408.

Metadata

Metadata

Assignees

Labels

futureParked for a later cycle — not in the active claim queueplanTracked by /do:replan

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions