unsloth/studio/backend/core/training
Daniel Han 7f0a9ebd2f Refactor diffusion LoRA training into a family-aware platform
Split the SDXL trainer into a shared, architecture-agnostic layer so more model
families can be trained without duplicating the plumbing:

- New core/training/diffusion_train_common.py holds the config + validation, dataset
  discovery, event emission, stop protocol, adapter publishing, and a lazy trainer
  registry (get_trainer). diffusion_lora_trainer.py keeps the SDXL-specific loop and
  re-exports the moved names so existing imports are unchanged.
- The SDXL-only base-model blocklist becomes a positive check: the family is resolved
  from the base model (or an explicit model_family) via the diffusion family registry,
  and a known-but-not-yet-trainable family is refused with a clear message. Unknown
  custom names still default to the SDXL trainer.
- DiffusionFamily gains a trainable flag and train_base_repos; SDXL is marked trainable.
  DiT families flip on when their trainers land.
- Trained adapters now write a <name>.json metadata sidecar (family, base model, rank,
  trigger prompt, ...) that the LoRA scanner reads to family-gate the adapter in the
  picker instead of showing it as unknown for every model.
- The training base-model trust allowlist adds the official FLUX.1-dev, Z-Image-Turbo,
  and Qwen-Image repos (safetensors-only, no remote code).
2026-07-02 14:55:09 +00:00
..
__init__.py Reduce and tighten code comments and docstrings repo-wide (#6095) 2026-06-08 23:09:51 -07:00
diffusion_lora_trainer.py Refactor diffusion LoRA training into a family-aware platform 2026-07-02 14:55:09 +00:00
diffusion_train_common.py Refactor diffusion LoRA training into a family-aware platform 2026-07-02 14:55:09 +00:00
diffusion_training_service.py [pre-commit.ci] auto fixes from pre-commit.com hooks 2026-07-02 05:48:24 +00:00
resume.py feat(studio): implement S3 dataset loading (completes #5951) (#6222) 2026-06-12 14:52:04 +02:00
s3_dataset.py feat(studio): implement S3 dataset loading (completes #5951) (#6222) 2026-06-12 14:52:04 +02:00
trainer.py Fix Windows Studio UTF-8 startup handling (#6614) 2026-07-01 13:47:33 +01:00
training.py (feat) Add project names to studio training runs (#6512) 2026-06-29 16:06:36 +02:00
worker.py (feat) Add project names to studio training runs (#6512) 2026-06-29 16:06:36 +02:00