Releases: kohya-ss/musubi-tuner
Release list
Version 0.3.4
Version 0.3.3
Version 0.3.2
What's Changed
- Add --save_precision option for network weights (default: fp32) by @rockerBOO in #967
- docs: Add --save_precision option details to README and HunyuanVideo … by @kohya-ss in #971
- Feat h2d only block swap by @kohya-ss in #972
Full Changelog: v0.3.1...v0.3.2
Version 0.3.1
What's Changed
- Add experimental HiDream-O1-Image support by @sdbds in #947
- Follow-up for HiDream-O1 by @kohya-ss in #955
- feat: Make per-sample forward to single (batch) forward in HiDream-O1 t2i training with SDPA by @kohya-ss in #959
- Fix multi control bucketing by @kohya-ss in #960
- feat: Add compile support for HiDream-O1 by @kohya-ss in #962
- fix: Clean up unused code and dependencies in pyproject.toml and trai… by @kohya-ss in #963
- feat: HiDream-O1 support and some fix by @kohya-ss in #964
Full Changelog: v0.3.0...v0.3.1
v0.3.0
Acknowledgements
Special thanks to @rockerBOO for the design discussion behind the new NetworkTrainer extension seams (#943), which grew out of his Self-Flow proposal in #913. The squash-merge unfortunately did not surface his commits in the auto-generated list below.
特に @rockerBOO 氏に深く感謝します。新しい NetworkTrainer 拡張シーム (#943) の設計議論にご協力いただきました。これは氏の Self-Flow 提案 (#913) を起点としたものです。squash merge の都合で下記の自動生成リストに氏のコミットが反映されなかったため、ここで明記します。
What's Changed
- feat: Qwen-Image-Layered support by @kohya-ss in #816
- fix: load control image for qwen image layered in generation by @kohya-ss in #837
- fix: update mu calculation in generate function to use original image latent shape by @kohya-ss in #838
- fix: fix img_shapes for Qwen-Image-Layered training by @kohya-ss in #844
- fix: update LoRA conversion script and documentation for Z-Image by @kohya-ss in #851
- feat: Remove the restriction that the original image must be the first layer during training. by @kohya-ss in #852
- fix a bug where multiple images were generated when batch generating with Qwen-Image by @kohya-ss in #856
- Flux.2-dev training by @christopher5106 in #841
- Fix flux 2 formatting and update readme by @kohya-ss in #857
- docs: Update README to credit contributor with full affiliation by @kohya-ss in #865
- FLUX.2 Improvements and fixes by @kohya-ss in #858
- fix: move image tensor to GPU for gradient checkpointing CPU offloading by @kohya-ss in #871
- feat: validate fp8 format in load_safetensors_with_fp8_optimization by @kohya-ss in #872
- Update overview.md for AI agents by @kohya-ss in #876
- fix: Update CFG handling in sample generation for Z-Image by @kohya-ss in #878
- doc: update link to caption_images_by_qwen_vl.py by @obsxrver in #879
- fix: unpack_latents function to support 1 layer latent for QIL by @kohya-ss in #881
- feat: Add block_swap_optimizer_patch_params option for supporting some optimizers with block swapping by @kohya-ss in #899
- feat: add LoHa and LoKr network modules with architecture detection by @kohya-ss in #900
- fix: replace verbose print statements with logger.debug in cache latents files by @belambert in #920
- Refactor/trainer split by @kohya-ss in #930
- Refactor/dataset split by @kohya-ss in #931
- Refactor: move HunyuanVideo-specific defaults out of NetworkTrainer base by @kohya-ss in #932
- Update overview.md: simplify and reflect post-refactoring structure by @kohya-ss in #933
- Refactor: introduce extension seams on NetworkTrainer (for Self-Flow + future extensions) by @kohya-ss in #943
- Bump version 0.3.0 by @kohya-ss in #951
- Refactor training and dataset modules for improved structure by @kohya-ss in #950
New Contributors
- @belambert made their first contribution in #920
Full Changelog: v0.2.15...v0.3.0
This release's refactoring was largely carried out by Claude Code (Opus 4.7), with review by Codex (GPT-5.5). My thanks to both. All responsibility for the resulting code rests with the maintainer.
今回のリリースのリファクタリングは、その多くを Claude Code (Opus 4.7) に行ってもらい、Codex (GPT-5.5) にレビューを受けました。両者に感謝します。なお、コードに関する責任はメンテナ側にあります。
Version 0.2.15
Release highlights (v0.2.15)
- HunyuanVideo 1.5 support added for training/inference workflows. (#748)
- Z-Image support landed, including training DB updates and related improvements. (#757, #778)
- Experimental “very simple” GUI introduced to make common operations easier to run. (#779)
- Qwen-Image-Edit-2511 support added for training/inference, plus compatibility fixes for Edit-2511 checkpoints. (#802, #808)
- Kandinsky 5 Pro LoRA training support added. (#774)
toch.compilesupport in training scripts (#722) with follow-up fixes. (#727, #731)- CUDA 13.0 support added. (#812)
What's Changed
- fix: adjust block swapping logic for forward-only mode in ModelOffloader by @kohya-ss in #675
- feat: replace x+a*b with torch.addcmul by @kohya-ss in #721
- feat: Add
torch.compilesupport to training scripts. by @kohya-ss in #722 - feat: add .mcp.json to .gitignore by @kohya-ss in #725
- fix: support compile dynamic=None by @kohya-ss in #727
- fix: exclude first step from progress bar to improve initialization time by @kohya-ss in #728
- fix: update timestep handling to use float32 for improved precision by @kohya-ss in #729
- fix: update state dict handling for compiled models during saving by @kohya-ss in #731
- Feat support hunyuan video 1 5 by @kohya-ss in #748
- fix: move tensors to CPU after encoding to GPU before generation by @kohya-ss in #758
- fix: preserve training mode of transformer during inference by @kohya-ss in #759
- Feat support z image by @kohya-ss in #757
- feat: add ComfyUI state dict conversion for Qwen-Image VAE loading by @kohya-ss in #760
- fix: update FP8 optimization target and exclude keys by @kohya-ss in #761
- Doc update overview md by @kohya-ss in #762
- fix: Improve memory management during video generation process by @kohya-ss in #763
- fix: Remove required flag from argument parsers in training scripts by @kohya-ss in #765
- feat: Add support for converting LoRA weights from diffusers for base_weights. by @kohya-ss in #772
- Add Z-image train db by @sdbds in #778
- Feat enable full bf16 for z image train by @kohya-ss in #781
- feat: Add a very simple GUI experimentally by @kohya-ss in #779
- feat: Add support for pinned memory in Block Swap and update UI labels by @kohya-ss in #782
- Fix train db compile bugs by @sdbds in #786
- Fix DDP bugs by @sdbds in #793
- Log
d*eff_lrfor ProdigyPlusScheduleFree, and some cleanup of LR logging by @woct0rdho in #767 - Prevent NaN during Z-Image-Turbo fp16 training by @yslai in #795
- Support Qwen-Edit-2511 by @sdbds in #802
- fix: Handle index_timestep_zero metadata key in qwen_image_train.py for Edit-2511 checkpoints by @maxim-kruglikov-playrix in #809
- Add Kandinsky 5 Pro LoRA training by @AkaneTendo25 in #774
- fix(qwen_image_train_network): argument order by @jimlee2048 in #811
- feat: add support for Qwen-Image-Edit 2511 for training/inference by @kohya-ss in #808
- Add CUDA 13.0 support by @djtuBIG-MaliceX in #812
- doc: update CUDA support in installation instructions for uv by @kohya-ss in #814
- version: bump to 0.2.15 by @kohya-ss in #815
New Contributors
- @woct0rdho made their first contribution in #767
- @yslai made their first contribution in #795
- @maxim-kruglikov-playrix made their first contribution in #809
- @AkaneTendo25 made their first contribution in #774
- @djtuBIG-MaliceX made their first contribution in #812
Full Changelog: v0.2.14...v0.2.15
Version 0.2.14
Highlights
- Block swap is now faster due to the use of pinned memory: A new use_pinned_memory parameter has been added to the block swapping functionality to provide users with an option to optimize data transfer performance between CPU and GPU during block swapping operations. (in #700).
What's Changed
- feat: Reference Consistency Mask for Qwen-Image-Edit by @kohya-ss in #643
- fix: Qwen-Image generation: DiT memory not released in batch mode and append_original_name didn't work by @kohya-ss in #644
- feat: add --one_frame_auto_resize option to adjust image size by @kohya-ss in #646
- [Fast Fix]fix miss import and support avif navite in pillow 11.3 by @sdbds in #666
- doc: add "full" to list of available params for frame_extraction in example dataset by @obsxrver in #647
- Fix TypeError when caching control images for WAN Fun Control by @pizurny in #659
- Adding new optional metadata parameters working great by @FurkanGozukara in #673
- feat: Support explicit metadata architecture and resolution by @kohya-ss in #683
- fix: improve control image matching by sorting image paths and avoidi… by @kohya-ss in #684
- Adds faster model loading args - RunPod loading takes at least 15-20 minutes without this and with this it takes 30 seconds by @FurkanGozukara in #681
- fix: update handling of
disable_numpy_memmapby @kohya-ss in #687 - fix: encoder_hidden_state_mask is ignored in Qwen-Image attention by @kohya-ss in #688
- Update extract lora script by @sdbds in #689
- feat: add use_pinned_memory option for block swap in multiple models by @kohya-ss in #700
- feat Qwen-Image-Edit training without control image by @kohya-ss in #704
New Contributors
- @obsxrver made their first contribution in #647
- @pizurny made their first contribution in #659
- @FurkanGozukara made their first contribution in #673
Full Changelog: v0.2.13...v0.2.14
Version 0.2.13
Highlights
- Support for Qwen-Image-Edit-2509: This release introduces support for the Qwen-Image-Edit-2509 model, enabling training and inference with multiple control images for more complex image editing tasks. (in #590)
- Reduced VRAM Usage for Block Swap: The shared VRAM usage for the block swap feature has been significantly reduced on Windows. (in #585)
- Dataset Handling Fix: A bug has been fixed where the first data item of each epoch was being handled incorrectly. This ensures that all data is processed properly throughout the epoch. (in #601)
What's Changed
- feat: add option to force 2.1 style time embedding in WanModel by @kohya-ss in #586
- doc: Wan update offloading instructions for DiT model on Windows by @kohya-ss in #597
- feat: Add flag to disable cuDNN PyTorch backend when caching by @xzuyn in #592
- Free VRAM for lazy loading in batch prompt mode by @JCBrouwer in #593
- doc: update dataset configuration for control images with mask by @kohya-ss in #600
- feat: Add support for Qwen-Image-Edit-2509 by @kohya-ss in #590
- fix: Qwen-Image-Edit (not 2509) incorrect prompt for VLM. by @kohya-ss in #606
- fix: Qwen-Image-Edit-2509 cannot handle arbitrary number of control images by @kohya-ss in #613
- Fix Prodigy optimizer logs by @wenyifancc in #623
- feat: Reducing shared VRAM usage for block swap by @kohya-ss in #585
- Organizing document structure by @kohya-ss in #630
- fix: first data of the epoch from dataset is inappropriate by @kohya-ss in #601
- chore: bump version to 0.2.13 by @kohya-ss in #631
New Contributors
- @JCBrouwer made their first contribution in #593
- @wenyifancc made their first contribution in #623
Full Changelog: v0.2.12...v0.2.13
Version 0.2.12
Highlights
📝 Code Quality: Ruff Formatting: PR #538
We introduced Ruff for unified linting and formatting across the codebase. This standardization improves contributor experience, ensures consistent style, and streamlines the review process. Thank you @arledesma for this great contribution!
⚡ CPU Offloading for Gradient Checkpointing: PR #537
Added support for activation CPU offloading during gradient checkpointing. This feature reduces VRAM usage by up to 20–30% in large-scale video training, enabling larger batch sizes. The trade-off is slightly slower training (a few percent to ~20%).
🚀 Faster Model Loading with MemoryEfficientSafeOpen: PR #556
Improved .safetensors loading with np.memmap and non-blocking GPU transfer, making model load times up to 1.5× faster. This significantly reduces waiting time for large model initialization.
🔬 FP8 Quantization with Block-wise Scaling: PR #575
Changed the --fp8_scaled option from per-tensor quantization to block-wise scaling, resulting in improved accuracy and stability. For Qwen-Image LoRA training, this reduces VRAM usage by about 5GB. Training and inference speed may be slightly slower.
What's Changed
- Configure ruff format for code quality standardization by @arledesma in #538
- doc: update contributing guidelines for clarity and consistency by @kohya-ss in #541
- feat: add CPU offloading support for gradient checkpointing by @kohya-ss in #537
- docs: update README to include ruff code analysis and activation CPU offloading by @kohya-ss in #545
- bugfix: fix mask initialization for wan flf2v inference by @LittleNyima in #548
- feat: faster MemoryEfficientSafeOpen by @kohya-ss in #556
- from_file with qwen_image_generate_image is broken by @nmfisher in #553
- fix: Qwen-Image training not working with fp8_base by @kohya-ss in #559
- chore: add .vscode/settings.json to .gitignore by @kohya-ss in #562
- feat: faster LoRA merging and stable fp8 max calculation by @kohya-ss in #563
- fix(wan): FlashAttention-3 call error by @jimlee2048 in #570
- Fix qwen image from file generation by @kohya-ss in #557
- fix: add dtype handling for fp8 model weights in weight_hook_func by @kohya-ss in #582
- fix: VAE tiling is always enabled for FramePack by @kohya-ss in #583
- feat: FP8 quantization with block-wise scaling by @kohya-ss in #575
- chore: bump version to 0.2.12 by @kohya-ss in #584
New Contributors
- @LittleNyima made their first contribution in #548
- @nmfisher made their first contribution in #553
- @jimlee2048 made their first contribution in #570
Full Changelog: v0.2.11...v0.2.12
Version 0.2.11
What's Changed
- fix: correct metadata key for session ID in NetworkTrainer by @kohya-ss in #516
- Code Quality - F821 by @arledesma in #483
- Code Quality - Configure ruff linting with Exclusions by @arledesma in #488
- doc: README Add ruff code analysis introduction by @kohya-ss in #522
- feat: add QwenImageTrainer for fine-tuning with Adafactor optimizer by @kohya-ss in #492
- doc: split HunyuanVideo documentation from README by @kohya-ss in #525
- feat: Add REX learning rate scheduler by @xzuyn in #513
- Feat small refactoring for rex scheduler by @kohya-ss in #535
- Fix bugs when qwen-image use lycoris by @sdbds in #530
- bump version to v0.2.11 by @kohya-ss in #540
New Contributors
- @arledesma made their first contribution in #483
- @xzuyn made their first contribution in #513
Full Changelog: v0.2.10...v0.2.11