Home Creators Posts Import Register Favorites Logout

Downloads

Content

Patreon exclusive posts index to find our scripts easily, Patreon scripts updates history to see which updates arrived to which scripts and amazing Patreon special generative scripts list that you can use in any of your task.

Join discord to get help, chat, discuss and also tell me your discord username to get your special rank : SECourses Discord

Please also Star, Watch and Fork our Stable Diffusion & Generative AI  GitHub repository and join our Reddit subreddit and follow me on LinkedIn (my real profile)

=======

Latest Zip File : SECourses_Musubi_Trainer_v34.zip

[click here to choose a membership and Join to download zip files]

Main training tutorial to learn training and how to use this app (mandatory to watch) : https://youtu.be/DPX3eBTuO_Y

Wan 2.2 training tutorial : https://youtu.be/ocEkhAsPOs4

SwarmUI : https://www.patreon.com/posts/114517862

ComfyUI : https://www.patreon.com/posts/105023709

=======

Currently 1-click to install on Windows, RunPod and Massed Compute with uv installation - ultra fast

We have model auto downloader that supports below models (run Windows_Download_Training_Model_Files.bat)

The following models have full Fine Tuning / DreamBooth and LoRA training with fully supported Torch Compile (really speeds up training up to 58% with no tradeoff)

All Qwen Image Models, FLUX 2 Dev, FLUX 2 Klein 4B and 9B, Z-Image Base, Z-Image Turbo, Ideogram 4, Krea 2 Raw, Krea 2 Turbo

Also has automatic Qwen VL captioning

The following models only supported with LoRA training with fully supported Torch Compile (really speeds up training up to 58% with no tradeoff)

All Wan 2.1/2.2 variants, LTX 2.3 with audio, MiniMax H3 with Audio, First-Frame, Last-Frame and References

Please use model downloader to not have any issues because your selected models may be wrong

Moreover, the Musubi Tuner automatically does FP8 and FP8 scaled or Int8 ConvRot (my special addition) conversion while loading BF16 model into RAM so we always use BF16 models for training

Our model downloader is ultra optimized and can reach 1GB per second on cloud machines

It also has SHA256 verification to ensure no corrupt model ever used

We are using our own fork of Musubi Trainer does it has many more features and improvements

The installers will generate a Python 3.12 VENV automatically and install everything inside there, thus your system or any other of your APPs will never be impacted

With our pre-compiled abi3 wheels for Windows and Linux, you can run on Python 3.10, 3.11, 3.12 and 3.13 but may require extra work so use Python 3.12.x

The following libraries compiled for Windows and Linux

archs : mslk, xformers, flash_attn, sageattention, torchao,

All of them are abi3 and Windows versions are compiled for Consumer GPUs, Linux versions compiled for Consumer + Cloud GPUs - so we cover all GPUs you have

Windows Requirements

For this auto installer to work you need to have installed Python 3.12.10, Git, FFmpeg, cuDNN 9.17+, CUDA 13.0, Visual Studio Community Edition with All c++ options

Follow this requirements tutorial video exactly : https://youtu.be/DrhUHnYfwC0

Follow its updated post with links and screenshots exactly : https://www.patreon.com/posts/windows-AI-requirements-tutorial-111553210

14 August 2026 Version 34.0 Update

🎬 Full MiniMax H3 Video + Audio Training Added

Brand-new MiniMax H3 Video Training tab.

Supports T2VA, first/last-frame FL2VA, and reference-to-video Ref2VA LoRA training.

Complete one-click pipeline: dataset generation → video/audio latent caching → Qwen3-VL text-embedding caching → training.

Joint audio supervision from embedded audio or matching .wav files. Silent videos are not incorrectly trained toward silence.

Dataset rules are handled automatically: batch size 1, valid 17n+5 frame counts, 24 FPS normalization, and 32-pixel resolution steps.

Guidance-distillation protection is enabled by default to help preserve H3’s CFG-distilled behavior.

Advanced teacher matching with both:

first,last endpoint conditioning.

New ref self-reference teacher with stronger teaching signals and real audio targets.

Exposes sigma protection, timestep focus, DC/magnitude shaping, audio-loss weighting, and video-only controls.

💾 Consumer-GPU Memory Support

Automatic support for the approximately 21 GB pruned ConvRot INT8 H3 transformer.

NVFP4+AWQ Qwen3-VL text encoder support with layer-by-layer CPU streaming.

Up to 48/50 H3 transformer blocks can be swapped using H2D-only block swapping.

Full BF16 checkpoints can use on-the-fly ConvRot INT8 and AdaLN pruning.

Direct loading of compatible ComfyUI pre-quantized ConvRot INT8 checkpoints.

Unsupported H3 FP8 configurations are now blocked with a clear error.

📦 Models and Ready-to-Use Presets

New MiniMax H3 Training Models – Low VRAM downloader bundle.

Optional higher-quality ConvRot INT8 text encoder and Ref2VA transformer downloads.

New tested demo presets:

24 GB preset: 384px, 124 frames, measured at 22.5 GB peak on an RTX 3090.

Lowest-VRAM preset: 256px, 124 frames, heavy block swapping, measured around 8.5 seconds/iteration on an RTX 5090.

⚡ LTX 2.5 Quantization

New LTX 2.5 model preset in the Model Quantizer.

Converts original BF16 dev or distilled models into an approximately 22 GB ComfyUI-ready mixed BF16/INT8 ConvRot checkpoint.

Automatically detects the model variant.

Applies the benchmark-validated video layer plan.

Performs per-layer ConvRot group-size selection and architecture validation.

Produces a detailed JSON quality report.

Older V32.4 LTX 2.5 workflow configurations are migrated automatically.

🧰 Model Quantizer Improvements

Added or improved profiles for Qwen VLM/Qwen3.5+, Chroma/Distilled, Mistral, NeRF, Radiance, Visual Encoder, and other architectures.

Qwen VLM protection now dynamically handles the final language layer, embeddings, MTP weights, and the visual stack.

Added BF16/FP16 output-dtype selection.

Added regex controls for layers that must preserve their original dtype.

Quantizer panels now appear only when relevant to the selected workflow.

Preset and workflow switching is more consistent.

Improved pre-quantized ConvRot checkpoint validation and mixed group-size handling.

🛡️ Critical Full Fine-Tuning Safety Fix

Configuration loading is now safer across FLUX, FLUX.2, FLUX Klein, Qwen Image, Z-Image, Ideogram 4, and Krea 2.

Runtime TOMLs now preserve whether the run used LoRA or Full Fine-Tuning/DreamBooth.

Older configurations can infer the correct mode from their network settings.

Loading a failed or saved full-finetune run no longer silently switches it back to LoRA.

LoRA and Full Fine-Tuning panels now update correctly after loading a configuration.

🔧 Reliability Improvements

Fixed H3 FlashAttention 2 dtype handling.

Fixed CPU-offloaded activations before the H3 final layer.

Fixed H3 condition-noise random-number aliasing.

Improved audio timestamp-jitter recovery.

Improved JSONL relative-path resolution.

Added official MiniMax H3 processor/configuration handling.

Fixed end-to-end H3 dataset validation and flash_auto launch support.

Expanded regression coverage across configuration round-trips, caching, quantization, teacher matching, and dataset generation.

New training tab interface below

Updated model downloader bat file interface below

Demo presets folder screenshot below

Download latest zip file, extract, overwrite all, run Windows_Install_and_Update.bat and use newest preset tomls for updating or fresh install

13 August 2026 Version 32.3 Update

A bug in FLUX 2 Klein training fixed and related demo presets updated

Extract, overwrite all, run Windows_Install_and_Update.bat and use newest preset tomls

3 August 2026 Version 32.1 Update

Interface fully modernized and upgraded — every screenshot in this post shows the new look.

LTX 2.3 full training capability implemented with demo preset — even higher quality and faster INT8 ConvRot base training supported, same as Krea 2.

Now even if you forget to write 1_folder_name (the repeating number) in dataset preparation, the app counts it automatically as 1 repeat and tells you exactly how to set it explicitly.

Automagic optimizers now fully working — ported from the famous Ostris AI Toolkit (details below).

Full version history is now inside the Gradio app — Version History tab.

The post is fully updated so please read all. To update: get the latest zip file, overwrite previous files and run Windows_Install_and_Update.bat.

LTX 2.3 is unusual among supported families — a single checkpoint carries the DiT transformer, video VAE, audio VAE, vocoder and text-encoder connector weights. The app handles the whole pipeline for you, including the 8k+1 valid frame rule and FPS resampling — here is the built-in explanation of how LTX 2.3 training works:

Automagic optimizers — which one should you pick? Automagic is an experimental family of adaptive optimizers originally from Ostris AI Toolkit, integrated into this trainer — and not limited to Krea 2: it is available for Qwen Image, Wan, FLUX, Z-Image, Ideogram 4, Krea 2 and LTX 2.3 training.

Automagic3 — the recommended starting point. It automatically selects the correct operating mode: fused updates when your configuration is compatible, safe non-fused updates when you use gradient accumulation / clipping or other incompatible features (with a warning), and a compact sign-history state for its adaptive learning rate. Choose Automagic3 when unsure.

Automagic2 — lowest gradient memory, strict requirements. It updates parameters during backward propagation, so it needs: one GPU and one process, Gradient Accumulation Steps = 1, Max Gradient Norm = 0, BF16 or no mixed precision (FP16 unsupported), Fused Backward Pass disabled (it manages its own) and Patch Optimizer for Block Swap disabled. If your configuration is incompatible, the trainer stops before loading the model and explains exactly which settings to change.

Automagic v1 — the most detailed adaptive state. Adafactor-style second moment plus an adaptive per-element learning-rate mask; supports normal stepping, gradient accumulation, clipping and block swapping, at somewhat higher optimizer memory.

Learning-rate behavior: for all Automagic versions the Learning Rate you set is only the starting rate — Automagic adapts it during training and bypasses external schedulers. Start from the model preset values, don't copy AdamW rates.

Tested successfully with ConvRot (BF16 and INT8 backward) and Scaled FP8 base quantization.

SECourses Musubi Trainer Premium App Full Features

Why This App Exists

Kohya's Musubi Tuner is the best training backend in the open-source world — but out of the box it is a command-line tool: hand-written TOML files, manual model downloads, manual wheel compilation, and no Windows Torch Compile. I maintain my own fork of Musubi Tuner and wrapped it in a complete product: a full GUI, 1-click installers for Windows and every major cloud, an ultra-fast verified model downloader, researched configs for every GPU tier from 6 GB to 96 GB, and performance work that makes trainings up to 53% faster at identical quality.

This is not a thin wrapper. Every feature of Musubi Tuner is exposed — 100% parameter coverage — plus dozens of features that exist only here: INT8 ConvRot quantized training, LTX 2.3 video training, guarded Windows SDPA acceleration, a model quantizer that beats GGUF Q8 quality, Automagic optimizers, and much more. It is updated constantly: 43 releases shipped in 11 months.

Up to 53% Faster Than Stock Musubi Tuner — Zero Quality Loss

I pre-compiled the entire acceleration stack myself (FlashAttention, SageAttention, xFormers, TorchAO, mslk — for Torch 2.13 + CUDA 13.1, abi3 wheels working on Python 3.10–3.13, on consumer and datacenter GPUs), and built an automatic Torch Compile toolchain that discovers and validates your MSVC/CUDA environment on Windows, caches the result for 30 days, and falls back safely if anything fails. The result — measured model by model against default Musubi Trainer settings, same exact output quality:

Z-Image Base / Turbo : 53% faster · FLUX Klein 9B : 46% · Qwen 2511 Edit : 40% · Krea 2 : 36% · Qwen 2512 : 24.5% · Wan 2.1 : 22% · FLUX 2 Dev : 15.6% · Wan 2.2 : 15% · Ideogram 4 : 14%

All of it works out of the box on Windows and Linux — no compiler setup, no environment variables, no praying.

On Krea 2 and LTX 2.3 you can stack the exclusive INT8 ConvRot quantized training on top — the measured speed table is in the Krea 2 section below.

Every Model. One App.

Full Fine-Tuning / DreamBooth and LoRA for all major image models, LoRA for Wan and LTX video models — every single one with fully working Torch Compile:

The Presets We have in the Zip File and the Automatic Installers

Everything in this post ships as one zip file. Extract it and you get the 1-click installers for Windows, RunPod, SimplePod and Massed Compute, the model downloader (Windows_Download_Training_Model_Files.bat / Download_Train_Models.py), the app starter, the instruction files for every cloud — and every researched preset folder shown below:

Ready demo presets for every model family — FLUX 2 (LoRA + Fine-Tuning), FLUX Klein 4B / 9B, Ideogram 4, Krea 2 (including the High-VRAM INT8 ConvRot variant), LTX 2.3, Wan 2.1 and Z-Image Base / Turbo. Load one, point it at your dataset, press Start:

The full Qwen research config library — separate LoRA_Training and Fine_Tuning_Training-DreamBooth tiers for every GPU class, plus complete example datasets for regular training and for Qwen Image Edit control-image training, and a Tutorial_Workflow.html reference:

A ready-made prompt library for testing your trainings — demo prompt sets for style / character / product trainings, Gemini prompt-generator templates, and Grid_Find_Best_Checkpoint prompt files you use to X/Y-grid your saved checkpoints and find the best epoch:

The official Wan 2.2 config sets — Text-to-Video, Image-to-Video and Text-to-Image folders distilled from my 64+ research trainings, with a Configs_Explanation guide image:

The Grand Tour — All 14 Tabs, With Real 4K Screenshots

1 — Qwen Image Training

The flagship tab. Trains Qwen Image, the new Qwen 2512, and Qwen Image Edit Plus 2509 / 2511 (with up to 3 control images and one-click auto-generated control images). LoRA and Full Fine-Tuning / DreamBooth, backed by my research of over 50 complete trainings — the resulting configs cover every GPU from 6 GB to 96 GB in quality tiers, so you load a preset matching your VRAM and press Start.

And this is what one single tab actually contains — every Musubi Tuner parameter, organized, documented with tooltips, and searchable. You never touch a TOML file by hand again. Here is the Qwen tab, section by section:

Configs, Accelerate & checkpointing — preset save / load, the settings search bar, Accelerate launch options (multi-GPU, mixed precision) and complete checkpoint save / resume / retention management:

Dataset preparation — point it at a Kohya-style folder (e.g. 1_ohwx man) and the full dataset TOML is generated for you, including Qwen Edit control-image modes and automatic caption file creation. And if you forget the repeat-count prefix on a folder, the app does not silently guess: it counts the folder as 1 repeat and tells you exactly how to name it to set repeats explicitly:

Model settings, Torch Compile & caching — BF16 model paths with auto-fill, FP8 base + Scaled FP8, Edit / Edit-Plus modes, Torch Compile controls, latent and text-encoder output caching:

Optimizers, scheduler & LoRA — the full optimizer catalog including Automagic 1/2/3 with per-optimizer guidance, learning-rate schedulers, and every LoRA architecture option (DyLoRA, LoRA-FA, custom modules):

Training settings & sample generation — epochs / steps, attention backends, block swap, gradient checkpointing, and live sample image generation during training:

Advanced, metadata & Hugging Face — flow matching and timestep sampling, SwarmUI auto-detection metadata, direct Hugging Face checkpoint upload, and the one-click training start:

2 — Wan Models Training

Everything Wan: 2.1 and 2.2, Text-to-Video, Image-to-Video, Text-to-Image, FramePack and Fun-Control — including proper dual-model Wan 2.2 training with smart CPU/GPU offloading. My Wan 2.2 configs come from 64+ research trainings analyzed on an 8x B200 machine, published for literally every GPU tier.

The Wan tab is the deepest video-training UI in the app — here it is, section by section:

Configs, Accelerate & checkpointing — preset save / load, instant settings search, Accelerate multi-GPU launch, output naming, exact training resume from saved states, LoRA save precision and checkpoint retention (save every N epochs / steps, keep last N, save state on train end):

Video dataset preparation — point it at Kohya-style folders of videos and/or images and the full dataset TOML is generated: frame extraction method (head / chunk / slide / uniform), Frame Stride, Frame Sample Count, Target Frames with Auto Normalize (scans your videos and clamps Target Frames to the shortest one so no clip is silently skipped), Maximum Frames, Source FPS override and automatic caption file creation:

The built-in Complete Wan Dataset Guide — a full reference rendered right inside the tab: the N*4+1 valid frame-count rule, optimal resolutions per model, video / image / mixed dataset folder structures, multiple datasets with different repeat counts, model-specific dataset recommendations (T2V, I2V, T2I, FLF2V, Fun-Control), automatic frame processing behavior, supported file formats and the experimental One Frame Training mode — you never need to leave the app to look any of this up:

Wan model settings — every Wan variant in one dropdown (T2V 1.3B / 14B, I2V, T2I, FLF2V, Fun-Control) with per-model max block swap limits, the Wan 2.2 dual-model system (high-noise + low-noise DiT paths with automatic timestep boundary switching and inactive-model CPU offload), DiT / VAE / T5 / CLIP paths with browse buttons and auto-fill, FP8 base + Scaled FP8 + FP8 T5, block swap with pinned-memory and H2D-only modes, VAE tiling / chunking, and Torch Compile with resident-blocks-only compilation for block-swapped training:

Advanced timestep sampling, loss weighting & CUDA — timestep sampling methods with Discrete Flow Shift guidance per model (Wan 2.2 T2V-A14B needs 12.0, I2V-A14B needs 5.0, Wan 2.1 needs 1.0 — the tooltip tells you), min / max timestep focus training, stratified timestep buckets for small datasets, loss weighting schemes (logit normal, mode), TF32 and cuDNN benchmark switches, and memory-efficient model-loading options:

Training, network, optimizer & caching — epochs / steps, attention backends (SDPA, FlashAttention, SageAttention, xFormers), gradient checkpointing, LoRA network dimension / alpha / dropout, the full optimizer + scheduler catalog, and separate latent-caching and text-encoder-caching controls with skip-existing and keep-cache behavior:

Samples, advanced, metadata & Hugging Face — live sample video generation during training from a prompt file, advanced flags, SwarmUI auto-detection metadata, direct Hugging Face upload, then one click on Start Training runs latent caching → text-encoder caching → training back-to-back:

3 — FLUX Training

FLUX 2 Dev and FLUX Klein 9B / 4B — LoRA and Full Fine-Tuning. LoRA from as low as 5.6 GB VRAM (Klein 4B, rank 128 at 1024px), 9.6 GB for Klein 9B, 18 GB for FLUX 2 Dev. Klein 9B trains 46% faster here than on the stock trainer.

Model family, dataset & model settings — one Model Family dropdown switches the whole tab between FLUX.2 Dev and Klein 9B / 4B, LoRA or Full Fine-Tuning modes, dataset TOML generation with optional control images (for FLUX.1 Kontext-style training), DiT / VAE / text-encoder paths with auto-fill, FP8 base / scaled / text-encoder options and per-model block swap limits (FLUX 2 Dev up to 29 blocks, Klein 9B 16, Klein 4B 13):

Torch Compile, training & sampling — Torch Compile backend / mode / dynamic shapes, flow matching and timestep settings, epochs / batch size / attention backends, live sample generation during training and latent + text-encoder caching controls:

Optimizer, LoRA & advanced — the full optimizer catalog with schedulers, LoRA rank / alpha / dropout, advanced flags, metadata and direct Hugging Face upload — then the one-click start:

4 — Z Image Training

Z-Image Base and Turbo, LoRA and Full Fine-Tuning from 6 GB VRAM — and the single biggest speed win of the whole app: 53% faster than stock. I published the first FP8 Scaled Z-Image Turbo model in the community using this very app's converter.

Configs, dataset & model settings — Base or Turbo checkpoints, LoRA or Full Fine-Tuning / DreamBooth, dataset TOML generation with automatic captions, FP8 options, block swap and complete checkpoint management:

Torch Compile, training & sampling — the 53%-faster Torch Compile pipeline, flow matching and timestep settings, epochs / batch / attention backends, live sample generation and full latent + text-encoder caching:

Optimizer, LoRA & advanced — optimizer + scheduler catalog, LoRA architecture settings, advanced flags, checkpoint retention, metadata and Hugging Face upload with the one-click start:

5 — Ideogram 4 Training

Ideogram 4 LoRA and Full Fine-Tuning with ready demo presets. Ideogram 4 loves structured JSON captions — and this tab is built for them: it pairs perfectly with my JSON-prompt captioning workflow (tutorial, Ultimate Image Captioner Pro).

Configs, dataset & model settings — LoRA or Full Fine-Tuning, dataset TOML generation with automatic captions and structured JSON-caption checking (your caption files are validated with clear warnings before training, not after a wasted run), model paths with auto-fill, FP8 options and Torch Compile:

Flow matching, training & sampling — flow matching and timestep settings, epochs / batch / attention backends, Ideogram sampler presets for live sample generation, loss diagnostics, caching and the optimizer catalog:

LoRA, advanced & Hugging Face — LoRA rank / alpha / dropout, advanced flags, SwarmUI metadata and direct Hugging Face upload with the one-click start:

6 — Krea 2 Training (with Exclusive INT8 ConvRot)

Krea 2 Raw and Turbo — LoRA and Full Fine-Tuning, 36% faster than stock. And Krea 2 is where I shipped something nobody else has: INT8 ConvRot quantized training.

ConvRot rotates the frozen base weights with a Hadamard transform before quantizing them to INT8, then runs the forward pass as a real fused Triton INT8 matmul. Scaled FP8 cannot do that — Krea 2's FP8 path has no FP8 matmul at all: it dequantizes the weights back to BF16 on every forward pass and then runs an ordinary BF16 matmul, which is why FP8 only saves VRAM and actually measures slower than BF16 once you are not bandwidth-starved. ConvRot's INT8 tensor-core path is a genuinely cheaper matmul — and INT8 tensor cores exist on every NVIDIA GPU from Turing onward, which finally makes Krea 2 fast on RTX 30 series cards that have no FP8 hardware at all.

Measured end-to-end training speed — real rank-128 LoRA runs at 1024×1024 through the GUI's own pipeline on an RTX 5090 (the shipped presets' exact settings; every number is the steady-state median over long runs):

Same VRAM class as FP8 (1 byte per base weight, and measured ~0.9 GB less peak VRAM than Scaled FP8), roughly 2.5x faster Linear forward than BF16 and 2.7x faster than Scaled FP8 in isolated kernel benchmarks — on both RTX 5090 and RTX 3090.

More accurate than Scaled FP8: mean per-step loss deviation from the BF16 reference is 0.273% for ConvRot (bf16 backward) vs 0.289% for FP8, and generated images deviate from BF16 by the same amount FP8's do (1.25 vs 1.23 grey levels out of 255).

The demo preset now ships with ConvRot INT8 as the default, and a new Krea_2_LoRA_Demo_High_VRAM.toml preset (blocks_to_swap = 16) collects 1.72x the throughput of the old FP8 default on 24 GB+ cards.

Works with block swap, gradient checkpointing and torch.compile — triton ships with the installer on both Windows and Linux.

Here is where it lives in the interface — the Model Settings row with the ConvRot INT8 checkbox and the bf16 / int8 backward selector:

Configs, dataset & INT8 ConvRot model settings — LoRA or Full Fine-Tuning, dataset TOML generation, and the model settings row where ConvRot INT8 lives: one checkbox plus a bf16 / int8 backward selector, next to FP8 Base + Scaled FP8, block swap up to 26 with H2D-only mode, and optional Turbo DiT for training-time samples. The GUI validates every illegal combination (ConvRot + FP8, ConvRot + Turbo sampling, ConvRot + Full Fine-Tuning) before anything launches:

Flow matching, training & sampling — flow matching and timestep settings with the Krea-2-specific shift schedule, epochs / batch / attention backends, live sample generation, caching and the optimizer catalog:

LoRA, advanced & Hugging Face — LoRA architecture settings, advanced flags, metadata and Hugging Face upload — a single click runs caching and training back-to-back:

7 — LTX 2.3 Video Training (NEW in V32)

The newest tab: full LoRA training for LTX-2 19B and LTX-2.3 22B text-to-video models — including audio-video joint training. The complete pipeline is chained behind one Start Training button: dataset TOML generation from your folders (the 8k+1 frame rule and 25 FPS resampling are handled for you), VAE latent caching, Gemma 3 12B text-encoder caching, then training. The demo preset trains a rank-128 LoRA on 24–32 GB GPUs, and the model downloader grabs the full ~59 GB model bundle with no gated-repo login needed.

Model, quantization & video dataset — LTX-2 19B / LTX-2.3 22B checkpoints with automatic version detection, Gemma 3 12B text encoder (single-file FP8 or HF folder with 8-bit / 4-bit loading), video / audio-video / audio-only training modality, first-frame conditioning probability, attention backends with split-attention VRAM control — and the richest quantization panel in the app: FP8 Base / Scaled with keep-blocks and W8A8 activations, INT8 ConvRot (quantize at load or load pre-quantized checkpoints, group size, MSE clip, per-layer quality report), NF4, block swap up to 47 blocks with pinned-memory and H2D-only modes, blockwise gradient checkpointing with CPU offload, and low main-RAM loading. Below it, the video dataset generator applies the 8k+1 frame rule, target FPS resampling and automatic captions:

Audio, caching, network & training — audio source selection (video container or external .wav) with separate audio buckets, VAE latent caching with spatial / temporal tiling and chunking, Gemma text-encoder caching with pre-connector features for connector LoRA training, LoRA network settings with target presets (t2v / audio / full) and automatic ComfyUI-format export alongside the musubi format, AdaFactor-tuned optimizer defaults, timestep sampling with shifted_logit_normal, and video sample generation during training with tiled VAE decode, sampling presets and optional audio merge into the preview mp4:

Logging, metadata & one-click start — TensorBoard / Weights & Biases logging, metadata, Hugging Face upload and the single Start Training button that chains VAE caching → text-encoder caching → training:

8 — Image Captioning

Automatic dataset captioning with Qwen2.5-VL, built in — and far deeper than a simple "caption my folder" button:

Single-image and batch captioning with recursive subfolder scanning, live progress, ETA and a safe stop button.

TXT and JSONL output formats — JSONL mode can optionally copy the images into a self-contained dataset, ready for structured-caption trainings like Ideogram 4.

FP8 model loading to fit the captioner on smaller GPUs, and automatic model unloading to release VRAM the moment captioning finishes — so you can go straight into training.

Full generation control: custom system prompt, temperature, top-k, top-p, repetition penalty and maximum tokens.

Caption post-processing rules: prefix, suffix and word replacements — applied in the right order so your trigger words always end up exactly where you want them.

Skip-existing or append-to-existing modes — recaption safely without destroying manual edits.

9 — Model Quantizer

Turn your trained checkpoints (or any base model) into deploy-ready quants: FP8 Scaled, INT8 ConvRot, NVFP4, MXFP8. The INT8 Row ConvRot HQ preset produces quants that are 96.2% similar to BF16 while GGUF Q8 manages only 90.0% — and they run about 2x faster than GGUF Q8 on RTX 3000 / 4000 / 5000. ComfyUI and SwarmUI load them natively. This is a full production quantization suite:

13 quality / workflow presets and around 20 model-family profiles — FLUX, Klein, Krea, Ideogram, Wan, LTX, Qwen, Z-Image, Hunyuan, ERNIE, Gemma, T5 and more — each with recommended exclusions and defaults baked in.

Learned ConvRot using SVD and Prodigy optimization, activation calibration and bias correction — the "Best Quality / Slow" preset that beats GGUF Q8.

Optional LoRA-informed calibration — quantize a base model with your LoRA's behavior taken into account.

Per-layer control: layer exclusions, sensitive-layer protection, mixed precision, dry-run analysis and automatic layer-template generation.

Single-file conversion queue and recursive folder batch conversion — both with cancellation — plus low-memory conversion controls for modest machines.

10 — LoRA Extractor

Extract a small, distributable LoRA out of any full fine-tuned / DreamBooth checkpoint — keep the full-quality fine-tune for yourself, ship the LoRA. Single-file and recursive batch extraction, configurable SVD rank and clamp quantile, device and precision selection, metadata preservation, and progress with cancellation:

11 — LoRA Merger

Merge up to three LoRAs simultaneously, each with its own independent multiplier — LoRA into LoRA, or bake LoRAs directly into a DiT base checkpoint. Single and recursive batch modes, model-specific profiles for Qwen, Wan, SkyReels and custom architectures, plus device and output-dtype controls:

12 — LoRA Converter

Move your LoRAs between ecosystems without touching a script: six bidirectional conversion profiles covering Diffusers, Musubi, ComfyUI and SwarmUI formats, dedicated HunyuanVideo 1.5 and Z-Image conversions, single-file and recursive folder batch processing:

13 — Image Preprocessing

A unique safety net: this tool runs your dataset through the actual Musubi Tuner training code and shows you exactly what the trainer will see — final resolutions, aspect ratios, bucketing decisions. It also catches the classic silent killer: EXIF-rotated images that would train sideways. Preview first, never waste a training run again.

14 — Version History

The full changelog of all 43 releases now lives inside the app — every version in its own collapsible section with an Open / Close All button, so you always know exactly what changed and when. This app is in constant, active development: what you subscribe to today keeps getting better every single week.

Preflight Guardrails — It Refuses to Waste Your GPU Time

The most expensive failure in training is the one you discover 20 minutes in — after caching, after model loading, after VRAM allocation. This app validates your configuration before any of that happens, with plain-language messages that tell you exactly what to change:

Invalid full-fine-tuning and quantization combinations are rejected before model loading.

FP8 conflicts are detected (e.g. fp8_base without fp8_scaled, FP8 + ConvRot).

Unsafe block-swap combinations and per-model block-swap limits are enforced.

Multi-GPU incompatibilities are caught before the run starts.

Optimizer and mixed-precision conflicts are explained before VRAM is allocated — including the strict Automagic2 requirements, with a recommendation to switch to Automagic3 when appropriate.

Krea 2 ConvRot conflicts with FP8, Turbo sampling and full fine-tuning are prevented outright.

1-Click Installation — Windows, RunPod, Massed Compute, SimplePod

Windows : run Windows_Install_and_Update.bat — that's it. The installer creates an isolated Python 3.12 venv (your system and other apps are never touched), and uses ultra-fast uv installation with my pre-compiled wheels. The same bat file also updates existing installs.

RunPod / SimplePod : follow Runpod_SimplePod_Musubi_Trainer_Instructions.txt — Python 3.12 is installed automatically. Installation is literally ~100x faster than pip thanks to uv.

Massed Compute & local Linux : follow Massed_Compute_Instructions_READ.txt.

Everything runs on Torch 2.13 + CUDA 13.1 with pre-compiled FlashAttention, SageAttention, xFormers, TorchAO and mslk — supporting effectively every NVIDIA GPU: RTX 3000 / 4000 / 5000, A40, L40S, A100, H100, B200 and more.

Windows Requirements

Python 3.12.10 (3.10 / 3.11 / 3.13 also work), Git, FFmpeg, cuDNN 9.17+, CUDA 13.0, Visual Studio Community Edition with all C++ options, NVIDIA driver 590+.

Follow this requirements tutorial video exactly : https://youtu.be/DrhUHnYfwC0

Follow its updated post with links and screenshots exactly : https://www.patreon.com/posts/windows-AI-requirements-tutorial-111553210

Cloud Registration Links

Massed Compute (recommended) : register here — special SECourses coupon : SECourses — how-to starts at 12:58 : https://youtu.be/KW-MHmoNcqo

RunPod : register here — how-to starts at 22:03 : https://youtu.be/KW-MHmoNcqo

SimplePod (cheaper than RunPod — RTX 5090 at $0.45/hr vs $0.89/hr) : register here — use our ready template — tutorial from 21:51 : https://youtu.be/yOj9PYq3XYM

Built-In Model Downloader — Never Hunt for Model Files Again

Run Windows_Download_Training_Model_Files.bat (or the cloud equivalents) and pick from 16 model bundles: all Qwen variants, Wan 2.1 / 2.2 T2V and I2V, FLUX 2 Dev, Klein 9B / 4B, Z-Image Base / Turbo, Ideogram 4, Krea 2 and LTX 2.3. Select several at once with comma lists or ranges — e.g. 1-3,5.

My own downloader engine (not the Hugging Face client): up to 16 parallel connections reaching ~1 GB/s on cloud machines, with an automatic aria2 → Python range-downloader → Hugging Face hub fallback chain, retry with exponential backoff, and resume that preserves partial downloads.

Integrity you can trust: SHA-256 (or Git-SHA) verification of every file, immutable Hugging Face revision pinning, and atomic installation — an incomplete file can never replace a good one. Already-verified local files are reused across model folders instead of re-downloading.

It protects your disk and your time: total download size is calculated and free disk space checked before anything starts; offline and force-redownload modes are available.

Always BF16 weights (best training quality) — Musubi converts to FP8 / FP8-scaled on the fly while loading, so you get low VRAM without keeping FP8 files around.

When you load any config, the app validates its model paths and auto-fills them from the downloader's default locations — on Windows, Linux and every cloud.

Researched Presets — Not Guesses

Qwen Image : LoRA + Fine-Tuning configs from my 50+ full training research runs, tiered from 6 GB to 96 GB GPUs, in 75 / 150 / 200-epoch quality variants (folder: Qwen_Training_Configs). 30+ result examples: see this article.

Wan 2.2 : official configs distilled from 64+ unique research trainings — Text-to-Video, Image-to-Video and Text-to-Image, for every GPU tier (folder: Wan22_Training_Configs).

Krea 2 : the demo preset ships with INT8 ConvRot as the default (faster and slightly more accurate than the old Scaled FP8 default at the same VRAM floor), plus the new Krea_2_LoRA_Demo_High_VRAM.toml for 24 GB+ cards at 1.72x the old throughput.

Everything else : ready demo presets for FLUX 2, Klein 4B/9B, Z-Image Base/Turbo, Ideogram 4 and LTX 2.3 (folder: Demo_Training_Configs_FLUX-2_Z-Image_FLUX-Klein_WAN-21_Krea2_Ideogram4).

Sample generation during training, TensorBoard / Weights & Biases logging with gradient statistics, exact mid-epoch training resume, checkpoint retention policies and direct Hugging Face upload are all built in.

Quality of Life You Will Not Find Anywhere Else

Search bar over 500+ settings — type "block swap" and jump straight to the option, no panel hunting.

Tooltips everywhere — every single parameter documented in plain language, with recommended values.

Config save / load with automatic validation, model-path auto-fix and cross-platform path normalization (spaces in paths just work).

Dataset folder safety — forget the N_ repeat prefix on a training folder and the generator counts it as 1 repeat and tells you exactly how to fix the name; a 0_ prefix (which would silently skip the dataset) is caught and corrected too, and every generated dataset reports its final num_repeats so you can verify at a glance.

Built-in dataset guides — the Wan tab renders a complete dataset reference (frame rules, folder structures, per-model recommendations) right inside the app.

Errors and warnings surface as Gradio notice bubbles — no more scanning terminal walls.

Accurate step-speed display almost immediately after training starts (fixed in my fork).

Automagic 1 / 2 / 3 optimizers (from Ostris AI-Toolkit) with adaptive learning rates — plus the full standard optimizer catalog, each with guidance and unsafe-combination validation before training starts.

Guarded SDPA acceleration on Windows — external FlashAttention is used only after passing real CUDA forward/backward probes, with automatic fallback, so you get maximum speed without mystery crashes.

The active quantization is always visible — training stdout states exactly which base quantization is live (e.g. "base weights quantized to ConvRot INT8 (224 Linears, fused Triton INT8 GEMM)"), so a silently slow fallback can never hide.

Who Am I and Why Trust This

I am Dr. Furkan Gözükara (PhD in Computer Engineering) — SECourses is my full-time work: tutorials, research and production-grade AI apps. This trainer alone has shipped 43 versions in 11 months, each one announced with full changelogs (now built into the app itself). My configs are not copied defaults — they come from hundreds of paid-GPU research trainings that I publish and document. When something breaks upstream, my fork usually has the fix before the issue is even triaged.

What Your Subscription Gets You

The full SECourses Musubi Trainer app with 1-click installers (this post's zip file, updated constantly).

All researched training configs — Qwen tiers, Wan 2.2 official configs, and demo presets for every supported model.

Every other SECourses app and script in the Patreon posts index — SwarmUI installers, ComfyUI installers, captioners, upscalers and much more.

Private Discord support — tell me your username and get your special rank : SECourses Discord.

Constant updates: when a new model drops, this app gets it fast — Krea 2, Ideogram 4 and LTX 2.3 were all added within days of becoming trainable.

→ Join SECourses on Patreon and download SECourses_Musubi_Trainer_v32.zip now ←

How To Install and Use

Windows

Install the requirements (see the requirements section above), then just run Windows_Install_and_Update.bat for install and update.

Run Windows_Download_Training_Model_Files.bat to download the exact right model files for your training.

Start the app with Windows_Start_App.bat, load a preset config matching your GPU, generate your dataset TOML with the Generate Dataset Configuration button (Kohya folder logic, e.g. parent folder > 1_ohwx man), and press Start Training.

Follow the main tutorial for the complete workflow : https://youtu.be/DPX3eBTuO_Y

Massed Compute (Recommended Cloud)

Register via this link — coupon SECourses for all GPUs. GPU guide : https://www.patreon.com/posts/126671823

Select RTX A6000 or better (L40S, A6000 ADA, A100, H100, RTX 6000 PRO), pick the SECourses image from the Creator dropdown, then follow Massed_Compute_Instructions_READ.txt.

RunPod / SimplePod (Cloud)

Register via RunPod or SimplePod and follow Runpod_SimplePod_Musubi_Trainer_Instructions.txt — use the template written in the instructions file.

Auxiliary Tools & Resources

Ultimate Batch Image Preprocessing app : https://www.patreon.com/posts/120352012

Batch Image Caption Editor app : https://www.patreon.com/posts/108992085

How to install and use SwarmUI with ComfyUI backend : https://youtu.be/c3gEoAyL2IE

Extremely fast Hugging Face upload / download notebook : https://youtu.be/X5WVZ0NMaTg

Training style images dataset : GTA5_Style_Dataset.zip — model : on CivitAI

Example training images dataset : https://www.patreon.com/posts/114972274

Version History

The complete changelog of every release from V1 (28 August 2025) to V32.1 (3 August 2026) is now built into the app — open the Version History tab and expand any release. Recent highlights:

V32.1 — Interface fully modernized; Automagic optimizers fully working; dataset repeat-count safety (forgotten N_ folder prefixes counted as 1 repeat with a clear notification); full version history moved into the app.

V32 — LTX 2.3 (22B) / LTX-2 (19B) video training tab with INT8 ConvRot and audio-video modes.

V31 — Krea 2 INT8 ConvRot quantized training (faster than BF16, more accurate than Scaled FP8).

V30 — Massive performance release: up to 53% faster; Full Fine-Tuning for FLUX 2, Klein, Ideogram 4 and Krea 2; guarded Windows SDPA.

V29 — Torch 2.13 + CUDA 13.1 stack with self-compiled abi3 wheels; Krea 2 and Ideogram 4 training added; auto model-path detection.

V25 → V27 — uv installers (~100x faster), Qwen Edit 2511, Wan 2.2 official configs, FLUX / Z-Image tabs, Model Quantizer.

Ready to train? Join SECourses, grab latest zip file, watch the main tutorial — and your first LoRA can be training within the hour.

Files

Wan 2.2 Complete Training Tutorial - Text to Image, Text to Video, Image to Video, Windows & Cloud

Wan 2.2 training is now so easy. I have done over 64 different unique Wan 2.2 trainings to prepare the very best working training configurations for you. The configurations are fully working locally with as low as 6 GB GPUs. So you will be able to train your awesome Wan 2.2 image or video generation LoRAs on your Windows computer with easiness. Moreover, I have shown how to train on cloud platforms RunPod and Massed Compute so even if you have no GPU or you want faster training, you can train on cloud for very cheap prices fully privately. 📂 Resources & Links: Download the One-Click Installer & Configs: [ https://www.patreon.com/posts/Musubi-Tuner-Trainer-App-Configs-137551634 ] Qwen Image Model Training Tutorial (Prerequisite): [ https://youtu.be/DPX3eBTuO_Y ] SwarmUI & ComfyUI Setup Guide for Windows: [ https://youtu.be/c3gEoAyL2IE ] SwarmUI Installer and Model Downloader : [ https://www.patreon.com/posts/SwarmUI-Install-Download-Models-114517862 ] ComfyUI Installer : [ https://www.patreon.com/posts/ComfyUI-Installers-105023709 ] SwarmUI & ComfyUI Setup Guide for RunPod & Massed Compute: [ https://youtu.be/bBxgtVD3ek4 ] Upload / Download Big Files Guide for RunPod & Massed Compute: [ https://youtu.be/X5WVZ0NMaTg ] ⏱️ Video Chapters: 0:00 Introduction to Wan 2.2 Training & Capabilities 0:56 Installing & Updating Musubi Tuner Locally 2:20 Explanation of Optimized Presets & Research Logic 4:00 Differences Between T2I, T2V, and I2V Configs 5:36 Extracting Files & Running Update Batch File 6:14 Downloading Wan 2.2 Training Models via Script 7:30 Loading Configs: Selecting GPU & VRAM Options 9:33 Using nvitop to Monitor RAM & VRAM Usage 10:28 Preparing Image Dataset & Trigger Words 11:17 Generating Dataset Config & Resolution Logic 12:55 Calculating Epochs & Checkpoint Save Frequency 13:40 Troubleshooting: Fixing Missing VAE Path Error 15:12 VRAM Cache Behavior & Training Speed Analysis 15:51 Trade-offs: Learning Rate vs Resolution vs Epochs 16:29 Installing SwarmUI & Updating ComfyUI Backend 18:13 Importing Latest Presets into SwarmUI 19:25 Downloading Inference Models via Script 20:33 Generating Images with Trained Low Noise LoRA 22:22 Upscaling Workflow for High-Fidelity Results 24:15 Increasing Base Resolution to 1280x1280 27:26 Text-to-Video Generation with Lightning LoRA 30:12 Image-to-Video Generation Workflow & Settings 31:35 Restarting Backend to Clear VRAM for Model Switching 33:45 Fixing RAM Crashes with Cache-None Argument 35:13 Dual Model (High & Low Noise) Training Setup 36:54 Preparing Hybrid Datasets (Images + Videos) 37:40 Manually Editing Dataset TOML for Resolution Control 39:53 Setting High Noise Model Paths for Dual Training 41:50 Optimization: Block Swap vs CPU Offload 43:10 Generating Video with Dual-Model Trained LoRA 45:35 Massed Compute: Server Setup & Coupon Code 47:00 Connecting via ThinLinc & File Transfer Methods 49:12 Massed Compute: Fast UV Installation & Downloads 50:27 Loading Configurations on Massed Compute 52:18 Troubleshooting: Fixing Config Version Error 53:20 Dual Model Training Speed Analysis on Cloud 55:40 RunPod: Selecting the Correct Template & GPU 57:45 RunPod: Uploading Files & Extracting Archive 58:38 RunPod: Terminal Installation & Model Downloads 1:00:26 RunPod: Correct Pathing Syntax & Backslash Fix 1:01:28 Setting Dataset Paths on RunPod 1:03:34 Installing nvitop on RunPod Terminal 1:03:54 Speed Hack: Disabling Numpy Memory Mapping 1:06:00 Terminating Instances & Final Remarks Greetings everyone! Today I am presenting an epic tutorial on how to train the Wan 2.2 model to generate extremely high-quality, realistic images and videos. This is currently the most advanced model for generating life-like textures and details. In this comprehensive guide, I cover everything you need to know to train Wan 2.2 on your local Windows computer, as well as on cloud platforms like RunPod and Massed Compute. We utilize the SECourses Musubi Tuner with fully optimized, 1-click presets designed for every GPU range (from 6GB to 192GB VRAM). 🚀 What You Will Learn in This Tutorial: Wan 2.2 Text-to-Image Training: How to train the Low Noise model for massive detail and realism. Wan 2.2 Text-to-Video Training: Mastering Dual Model training (Low Noise + High Noise) for superior video consistency. Image-to-Video Workflow: How to use your trained LoRAs to animate static images. Cloud Training: Step-by-step guides for Massed Compute (ultra-fast disk speeds) and RunPod. Performance Optimization: Using FP8 scaling, Block Swapping, and CPU offloading to train on consumer GPUs. Inference & Upscaling: Using SwarmUI and ComfyUI to generate and upscale content to 4K resolution. 💡 Key Features of Our Workflow: Auto-Resume & Speed: New UV package installers for lightning-fast setup. Presets for All GPUs: Configurations included for 6GB, 12GB, 24GB, 48GB, and 80GB+ cards. Dataset Automation: Auto-resizing and captioning for both image and video datasets.

Comments

Neil Rhodes

ooooh i look forward to the Tutorial. A simple trainer has my interest! Can it be used for objects or architecture?

cool1

Thanks. Do you have example images of a trained qwen lora yet that you can compare with flux1 dev or flux1 krea trained lora? So the Musubi tab doesn't work at all yet - or is it just not tested? If that worked or when you create other tabs for it would we be able to train all types (including the qwen lora, dreambooth, wan image and video) on 24 GB GPUs (though I think someone said even short video lora training would take ages)?

Caleb

Thanks for this, look forward to your tests!

Hockey

Been looking forward to this one! =D

Richard Nagy

When I click on the Generate dataset configuration, then this is what I get: [ERROR] Failed to generate dataset configuration: generate_dataset_config_from_folders() got an unexpected keyword argument 'parent_folder_path' What could be wrong?

Richard Nagy

Fixed indeed. I had to put all the images and texts inside Dataset/XXX (Name in the config) The only issue I found is the prompt file selector. Whe I click on a folder icon it gives me error. Manually pasted the path. It's running now. We'll see how it goes...

cool1

Couldn't the installers (including the Windows_Download_Training_Model_Files.bat install the python stuff locally to the folder you're installing it on and in virtual environments so there's no conflicts (dependency errors) with other versions of things (such as other python apps)? Also when the Windows_Download_Training_Model_Files.bat is creating a new output line for each small percentage increase of the multi GB file it's downloading that makes it harder to check what the conflict errors were at the top. Ideally the percentage increasing could be kept on the same line if that's possible instead. edit: though it does use the same line sometime (eg. after about 24.6% on mine) so I'm not sure why it output lots of other lines for other percentages.

cool1

installing the hugging face hub or maybe a gradio version gave the conflicts I think: Installing collected packages: huggingface_hub Attempting uninstall: huggingface_hub Found existing installation: huggingface-hub 0.31.2 Uninstalling huggingface-hub-0.31.2: Successfully uninstalled huggingface-hub-0.31.2 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. gradio 4.44.0 requires aiofiles<24.0,>=22.0, but you have aiofiles 24.1.0 which is incompatible. gradio 4.44.0 requires markupsafe~=2.0, but you have markupsafe 3.0.2 which is incompatible. gradio 4.44.0 requires pillow<11.0,>=8.0, but you have pillow 11.3.0 which is incompatible. Successfully installed huggingface_hub-0.34.4

cool1

Thanks a lot. I'll download that. I'm a bit confused why it's downloading the qwen_image_bf16.safetensors at 38 GB file size. The qwen we used for generating images was things like the Q8 or Q6 or Q4 (smaller versions). For people who have 24 GB of VRAM is the 38 GB one needed and won't that use slower RAM rather than VRAM? Is it needed for high enough quality but will cause block swapping/slower RAM for people who have <= 24 GB VRAM but enough RAM?

cool1

Thanks. I assume that's the "use fp8 for base model" that's checked in one of the screenshots. It looks like we don't need to enable those for 24 GB VRAM GPUS (since it says to check them to "reduce VRAM from 24GB") - though I assume it could go slightly over with 24 GB VRAM GPUs (since other apps may be loaded). Though for PCs with GPUs/RAM that can't handle the 38 GB file maybe it could have have asked what model to use for base (what model to download). eg. it might be less efficient to download a 16 BIT 38 GB file if it's then going to take a while to convert that to fp8 and half the size on the fly, compared to selecting a half-size fp8 version to download and so not needing space or download time for the 38 GB+19 GB file - just the 19 GB file. Though I assume it lowers the quality to use the fp8 version instead of the bf 16 one.

cool1

Okay I'll do that. re: "it cant process fp8 base file" Just that you said "trainer has capability to convert it into FP8 during training which halves its size". So the fact it converts it to fp8 seems like it must be able to process an fp8 file otherwise it wouldn't make sense to convert to fp8 if it can't can't process fp8 (unless it only stores fp8 in memory and not in a file that can be loaded).

Richard Nagy

Resuming is a bit tricky. It looks like it starts from the beginning, but it actually resumes. For me 21 Epoch gives much closer result. The training itself is blazing fast. around 2hrs on 4090.

cool1

I tried starting training and it output a list of every file that it's "saving cache" for, which seemed to take longer than with kohya lora training (maybe because of higher res), but with Kohya lora training it just put a counter and a percentage when it was caching stuff and a estimated completion time for that, so you could see roughly how many it's done and when it would finish more easily. Also after pressing "Start Training" and it's now listing those files its caching (and also after that) the button in the GUI still says "Start Training" instead of changing to say "Stop Training". Shouldn't it have changed to "Stop Training" so you can stop/cancel it if needed, if that's possible, like on Kohya it did (when it worked normally)? Could it please be changed to say "Stop Training" so you can stop it part way through?

cool1

For the training samples it outputs, it says in the GUI: "Sample Prompts File" "Path to text file with prompts (one per line). Required for sample generation. Example: 'A cat A dog A house'". but after just putting prompts like that in a file that we select, the output sample files are 256x256 pixels. Do we need to put "--w 1328 --h 1328" if we want them at the default qwen image size? If so, could it show examples like that in the GUI if possible so we know what the extra options are for the output samples, like I think there were more like the number of steps for generating the sample too (if different than 20)?

cool1

Thanks a lot.

cool1

Thanks. I'll download that soon. I tried adding "--w 1328 -h 1328" though that seemed to make the output samples super slow. So for now I've removed the "--w" etc. bits to speed it up so it outputs them at 256x256 again but it's still slow and outputs each sample step at about a minute per iteration for each of the 20 steps (so about 18 or 19 mins or 35 mins last time) to output one sample at 256x256 pixels). That's with the fp8 base model enabled and the "Use Scaled FP8 for DiT" checkbox enabled.

cool1

Thanks. I just noticed those GUI sample width & height values now. I saw the new one change the sample res to 1368 but assumed it could be hard coded but it's not. So I can change them in the GUI now thanks. It still takes my pc ages to create 1 sample image even at 256x256 res though. I left a training running overnight and after generating 21 sample images it only got to about 21 training steps (I might be wrong but it was only a tiny amount compared to doing a normal flux lora at 1024x1024). That was at net rank 128. I've reduced it to 64 but it's still slow at generating 256 width output samples.

cool1

For normal res flux1 dev loras it's no problem outputting the samples. And the samples help you know how well it's trained and whether it could be okay to stop training (if the outputs seem good enough). Even after the output samples in the qwen training (1328x1328 max) it was taking forever for each training step (with network rank 128). Maybe if you're later creating presets/configs of the best settings to use for different GPUs that have different VRAM amounts then that would make it much easier for people to set the best settings for their PC I think. Like currently it's hard to know what other optimizations to set (like if we need VAE tiling or swapping blocks to CPU etc.).

geddon

Has anyone had any luck on a RTX 4080 with 16 GB VRAM? I keep lowering all the settings, decreasing my image resolution, and clicking all the "saves memory" options I can spot in the UI, but I keep getting Out of Memory errors.

Rob Robson

I miss presents for wan 2.1/2.2 and it looks like deprecated. " Failed to load configuration: invalid literal for int() with base 0: 'null' (line 12 column 1 "

Roni Bliss

OH! .... Absolutely FKN OUTSTANDING!!! This subscription continues to be the most valuble in atreon ohistory for me!! My god what is it $5?? ... Damn brother!! I just started using that 2 days ago, but its been tricky without a GUI ... Then you drop the gradio fire! AMAZINGT!!!! Thank you amigoooo! .. RTX PRO 96gb VRAM and full easy contro.l with AI-Toolkit B2B with GUI Tuner!!! I am now all set to take over the MF world!!! ...Hahaaaaaaaa! .. Massive thanks once again for your brilliant and tireless work brother! - Keeping every member hyere ahead of the game with exclusive extras like the Gradio front ends and apps you build!! I think its something MOST members don't understand here. !! I am 100% sure they pr9obably think some of these apps are just disros with each new model announcement/release! Bless them! = Legend SEC!

Glen Carpenter

Really looking forward to a Wan training tab. I am hoping you will accommodate 2.1 / 2.2 / t2v / i2v!

Glen Carpenter

Have you tested using Prodigy optimizer with Qwen training? Also you say as low as 8GB vram, but recommend using A6000 - will this currently work with 4090?

SECourses: FLUX, Tutorials, Guides, Resources, Training, Scripts

i tested Prodigy with flux and it didnt yield better. currently i am focused on adafactor for Qwen Image since it is like 2gb lower vram than adamw8bit and it was most realistic one for FLUX. currently 1328px and 128 rank is lowest 14.5 GB so we will need to either reduce resolution or rank or both to go lower VRAM

Glen Carpenter

I may have missed some settings from the post images, I'll check again. I made it all the way to caching text encoders but then froze up for about ten minutes before I stopped

Glen Carpenter (edited)

Comment edits

2026-09-07 10:00 Does anyone know how to fix `ValueError: Reserved escape sequence used`? The app is generating TOML files with illegal escape sequences, I am not sure how to fix this. I am using folders with names like "1_ohwx" Edit - this appears to be related to the python code where it appends the enhanced prompt filename to the directory path, however it doesn't escape the forward slash "/" that gets inserted in between the directory and filename Edit2 - removing the path to "pompt.txt" fixed the issue Edit3 - current config does not play well with 4090. About 1 step every 10 minutes.
2025-08-31 23:59 Does anyone know how to fix `ValueError: Reserved escape sequence used`? The app is generating TOML files with illegal escape sequences, I am not sure how to fix this. I am using folders with names like "1_ohwx" Edit - this appears to be related to the python code where it appends the enhanced prompt filename to the directory path, however it doesn't escape the forward slash "/" that gets inserted in between the directory and filename Edit2 - removing the path to "pompt.txt" fixed the issue Edit3 - current config does not play well with 4090. About 1 step every 10 minutes. Edit4 - I was able to run a training session with 1024x1024 images, block swap set to 30 and network dimensions set to 16 - however I am only getting black outputs in Swarm UI. I am not using sage attention, with Qwen bf16 and GGUF models... not sure what is causing the issue unfortunately. Edit5 - new settings (with xformers) are working great on 4090. I reduced image size to 1024x1024, set blocks_to_swap to 32, and ran batches of 2 for 800 steps. The resulting LoRA was very nice.

Does anyone know how to fix `ValueError: Reserved escape sequence used`? The app is generating TOML files with illegal escape sequences, I am not sure how to fix this. I am using folders with names like "1_ohwx" Edit - this appears to be related to the python code where it appends the enhanced prompt filename to the directory path, however it doesn't escape the forward slash "/" that gets inserted in between the directory and filename Edit2 - removing the path to "pompt.txt" fixed the issue Edit3 - current config does not play well with 4090. About 1 step every 10 minutes. Edit4 - I was able to run a training session with 1024x1024 images, block swap set to 30 and network dimensions set to 16 - however I am only getting black outputs in Swarm UI. I am not using sage attention, with Qwen bf16 and GGUF models... not sure what is causing the issue unfortunately. Edit5 - new settings (with xformers) are working great on 4090. I reduced image size to 1024x1024, set blocks_to_swap to 32, and ran batches of 2 for 800 steps. The resulting LoRA was very nice.

cool1

Same with RTX3090, except it's even slower with that (1 training step about every 19 mins after it gets to step 2, sometimes more (training step 1 is a lot more)). Though step 3 was 15 mins with "use fp8 text encoder". I assume it could be faster if the res was lowered from max 1328x1328 though I don't know how much and it would be under the normal res of the model and lose some of the advantage of it.

cool1

Thanks for doing the testing. For the different configs that use different amounts of VRAM, could you also (if it's possible) put what the training time would likely be on PCs with different GPUs with those configs (that have enough RAM)? Also you say "With 8 steps Fast LoRA results are thankfully much better". It seems to be yes (though I couldn't get the Lora working swarmui) but in the test results the Fast Loras also change Donald so it looks less like him than without the Fast Lora I think. In the Kohya SS training, in the bucketing section there used to be more options, including a max bucket size (which we could set to twice the max res width or height - if your training aspects were going to be up to about 2:1 ratio). In this GUi, it has only 2 settings - "enable bucketing" and "bucket no upscale". How do we know what sizes it's going to bucket up to on this one and is there a reason we don't get control of that? Is the bucket size automatically getting set so the lowest res side of the max res width or height? Or is it based on the size of the source image (which could be higher than training size, and if so couldn't that slow training down?

cool1

Thanks.

Klaus

I get an error of the network_module. I have updated to version 12 but the error still occurs INFO:musubi_tuner.hv_train_network:enable swap 12 blocks to CPU from device: cuda QwenModel: Block swap enabled. Swapping 12 blocks out of 60 blocks. Supports backward: True import network module: Traceback (most recent call last): File "D:\SECourses_Musubi_Trainer_v11_3\SECourses_Musubi_Trainer\musubi-tuner\src\musubi_tuner\qwen_image_train_network.py", line 433, in main() File "D:\SECourses_Musubi_Trainer_v11_3\SECourses_Musubi_Trainer\musubi-tuner\src\musubi_tuner\qwen_image_train_network.py", line 429, in main trainer.train(args) File "D:\SECourses_Musubi_Trainer_v11_3\SECourses_Musubi_Trainer\musubi-tuner\src\musubi_tuner\hv_train_network.py", line 1730, in train network_module: lora_module = importlib.import_module(args.network_module) # actual module may be different File "C:\Users\admin\AppData\Local\Programs\Python\Python310\lib\importlib\__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1047, in _gcd_import File "", line 981, in _sanity_check ValueError: Empty module name Traceback (most recent call last): File "C:\Users\admin\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\admin\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code exec(code, run_globals) File "D:\SECourses_Musubi_Trainer_v11_3\SECourses_Musubi_Trainer\venv\Scripts\accelerate.exe\__main__.py", line 6, in File "D:\SECourses_Musubi_Trainer_v11_3\SECourses_Musubi_Trainer\venv\lib\site-packages\accelerate\commands\accelerate_cli.py", line 50, in main args.func(args) File "D:\SECourses_Musubi_Trainer_v11_3\SECourses_Musubi_Trainer\venv\lib\site-packages\accelerate\commands\launch.py", line 1213, in launch_command

Hockey

I get Cuda error: out of memory. WIndows 11, 64 Gb RAM, 16 Gb VRAM RTX 3080 Laptop GPU. Using latest v13. This is with Tier2_15150_MB.toml: Loading qwen_image_bf16.safetensors: 100%|████████████████████████████████████████| 1933/1933 [00:58<00:00, 33.16key/s] INFO:musubi_tuner.modules.fp8_optimization_utils:Number of optimized Linear layers: 720 INFO:musubi_tuner.modules.fp8_optimization_utils:Number of monkey-patched Linear layers: 720 INFO:musubi_tuner.qwen_image.qwen_image_model:Loaded DiT model from D:/AI/Musubi_Trainer/Qwen_Image_Training_Models/qwen_image_bf16.safetensors, info= INFO:musubi_tuner.hv_train_network:enable swap 58 blocks to CPU from device: cuda QwenModel: Block swap enabled. Swapping 58 blocks out of 60 blocks. Supports backward: True import network module: networks.lora_qwen_image INFO:musubi_tuner.networks.lora:create LoRA network. base dim (rank): 128, alpha: 128 INFO:musubi_tuner.networks.lora:neuron dropout: p=0, rank dropout: p=None, module dropout: p=None INFO:musubi_tuner.networks.lora:create LoRA for U-Net/DiT: 840 modules. INFO:musubi_tuner.networks.lora:enable LoRA for U-Net: 840 modules QwenModel: Gradient checkpointing enabled. prepare optimizer, data loader etc. INFO:musubi_tuner.hv_train_network:use Adafactor optimizer | {'scale_parameter': False, 'relative_step': False, 'warmup_init': False, 'weight_decay': 0.01} WARNING:musubi_tuner.hv_train_network:constant_with_warmup will be good / スケジューラはconstant_with_warmupが良いか もしれません override steps. steps for 200 epochs is / 指定エポックまでのステップ数: 9800 Traceback (most recent call last): File "D:\AI\Musubi_Trainer\SECourses_Musubi_Trainer\musubi-tuner\src\musubi_tuner\qwen_image_train_network.py", line 433, in main() File "D:\AI\Musubi_Trainer\SECourses_Musubi_Trainer\musubi-tuner\src\musubi_tuner\qwen_image_train_network.py", line 429, in main trainer.train(args) File "D:\AI\Musubi_Trainer\SECourses_Musubi_Trainer\musubi-tuner\src\musubi_tuner\hv_train_network.py", line 1867, in train accelerator.unwrap_model(transformer).prepare_block_swap_before_forward() File "D:\AI\Musubi_Trainer\SECourses_Musubi_Trainer\musubi-tuner\src\musubi_tuner\qwen_image\qwen_image_model.py", line 1066, in prepare_block_swap_before_forward self.offloader.prepare_block_devices_before_forward(self.transformer_blocks) File "D:\AI\Musubi_Trainer\SECourses_Musubi_Trainer\musubi-tuner\src\musubi_tuner\modules\custom_offloading_utils.py", line 244, in prepare_block_devices_before_forward weighs_to_device(b, "cpu") # make sure weights are on cpu File "D:\AI\Musubi_Trainer\SECourses_Musubi_Trainer\musubi-tuner\src\musubi_tuner\modules\custom_offloading_utils.py", line 105, in weighs_to_device module.weight.data = module.weight.data.to(device, non_blocking=True) RuntimeError: CUDA error: out of memory CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1 Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions. Traceback (most recent call last): File "C:\AI\Python310\lib\runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\AI\Python310\lib\runpy.py", line 86, in _run_code exec(code, run_globals) File "D:\AI\Musubi_Trainer\SECourses_Musubi_Trainer\venv\Scripts\accelerate.exe\__main__.py", line 6, in File "D:\AI\Musubi_Trainer\SECourses_Musubi_Trainer\venv\lib\site-packages\accelerate\commands\accelerate_cli.py", line 50, in main args.func(args) File "D:\AI\Musubi_Trainer\SECourses_Musubi_Trainer\venv\lib\site-packages\accelerate\commands\launch.py", line 1213, in launch_command simple_launcher(args) File "D:\AI\Musubi_Trainer\SECourses_Musubi_Trainer\venv\lib\site-packages\accelerate\commands\launch.py", line 795, in simple_launcher raise subprocess.CalledProcessError(returncode=process.returncode, cmd=cmd) subprocess.CalledProcessError: Command '['D:\\AI\\Musubi_Trainer\\SECourses_Musubi_Trainer\\venv\\Scripts\\python.exe', 'D:/AI/Musubi_Trainer/SECourses_Musubi_Trainer/musubi-tuner/src/musubi_tuner/qwen_image_train_network.py', '--config_file', 'D:/SSUS6\\SSUS6_20250904-221246.toml']' returned non-zero exit status 1. 22:14:58-316214 ERROR Training failed with exit code: 1

cool1

in the GUI in the output samples section could we please have: Some control over whether it adds a fixed seed to every output sample. Currently it creates an "Enhanced prompt file" that says "Fixed seed: 99" and adds "--d 99" to every prompt to give them that fixed seed I assume. And while that can be helpful to see more clearly the changes that are happening for a particular prompt's sample image over time as it's training more, it also reduces variety of output samples so you wouldn't be able (with the same prompt, eg. " a photo of [person name]") to see them in lots of different locations with each new output of that prompt. For more random variety could there be options like 1) Use a fixed seed for each image, 2) Used a fixed seed for half the images, 3) Don't use any fixed seed. Also like I said on another post, it would be useful if it reloaded our specified prompts file (or a prompts.txt file created in the samples folder like happens with the Kohya SS trainer) so that we could edit it between training steps after making a copy of the full one (so we could delete prompts or copy and paste prompts from the full copy, that have been cached) that way we could change prompts it output part way through training. I assume it isn't doing that as it's probably using the "enhanced prompts" file. Maybe we could edit that enhanced prompts file while training is running, after making a copy of it, to cut and paste prompts into it, but maybe it would be easier if it recreated that file if the source prompts file has changed when going to generate the samples for the prompts. Also have you checked it's freeing VRAM/RAM normally in each section? Mine was going normally until step 1020 where after generating 1 output sample it takes ages to create the 2nd one (as though it's trying to use all VRAM when before, some was spare).

cool1

Thanks. So it will reload our specified prompt.txt file each time it goes to generate samples? So we could cut and paste into that after copying the full version (once it's cached), to be able to change the prompts it shows at different points in training.

Hockey

Did not work, I will re-install everything from scratch. In the meantime I can say at this point (see below) the RAM just increase, the graphic card's memory does not increase at all, it sits at about 1,6 Gb, but the shared VRAM increases and then the CUDA error shows up. override steps. steps for 200 epochs is / 指定エポックまでのステップ数: 9800 Traceback (most recent call last): File "D:\AI\Musubi_Trainer\SECourses_Musubi_Trainer\musubi-tuner\src\musubi_tuner\qwen_image_train_network.py", line 433, in main() File "D:\AI\Musubi_Trainer\SECourses_Musubi_Trainer\musubi-tuner\src\musubi_tuner\qwen_image_train_network.py", line 429, in main trainer.train(args) File "D:\AI\Musubi_Trainer\SECourses_Musubi_Trainer\musubi-tuner\src\musubi_tuner\hv_train_network.py", line 1867, in train accelerator.unwrap_model(transformer).prepare_block_swap_before_forward() File "D:\AI\Musubi_Trainer\SECourses_Musubi_Trainer\musubi-tuner\src\musubi_tuner\qwen_image\qwen_image_model.py", line 1066, in prepare_block_swap_before_forward self.offloader.prepare_block_devices_before_forward(self.transformer_blocks) File "D:\AI\Musubi_Trainer\SECourses_Musubi_Trainer\musubi-tuner\src\musubi_tuner\modules\custom_offloading_utils.py", line 244, in prepare_block_devices_before_forward weighs_to_device(b, "cpu") # make sure weights are on cpu File "D:\AI\Musubi_Trainer\SECourses_Musubi_Trainer\musubi-tuner\src\musubi_tuner\modules\custom_offloading_utils.py", line 105, in weighs_to_device module.weight.data = module.weight.data.to(device, non_blocking=True) RuntimeError: CUDA error: out of memory CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1 Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions. Traceback (most recent call last): File "C:\AI\Python310\lib\runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\AI\Python310\lib\runpy.py", line 86, in _run_code exec(code, run_globals) File "D:\AI\Musubi_Trainer\SECourses_Musubi_Trainer\venv\Scripts\accelerate.exe\__main__.py", line 6, in File "D:\AI\Musubi_Trainer\SECourses_Musubi_Trainer\venv\lib\site-packages\accelerate\commands\accelerate_cli.py", line 50, in main args.func(args) File "D:\AI\Musubi_Trainer\SECourses_Musubi_Trainer\venv\lib\site-packages\accelerate\commands\launch.py", line 1213, in launch_command simple_launcher(args) File "D:\AI\Musubi_Trainer\SECourses_Musubi_Trainer\venv\lib\site-packages\accelerate\commands\launch.py", line 795, in simple_launcher raise subprocess.CalledProcessError(returncode=process.returncode, cmd=cmd) subprocess.CalledProcessError: Command '['D:\\AI\\Musubi_Trainer\\SECourses_Musubi_Trainer\\venv\\Scripts\\python.exe', 'D:/AI/Musubi_Trainer/SECourses_Musubi_Trainer/musubi-tuner/src/musubi_tuner/qwen_image_train_network.py', '--config_file', 'D:/SSUS6\\SSUS6_20250905-125159.toml']' returned non-zero exit status 1. 12:53:57-678282 ERROR Training failed with exit code: 1

Hockey

I re-installed everything but same results. RAM increases almost to max until Cuda Error shows up, VRAM not increasing.

Richard Nagy

Why is that my first generation with less than 20 images took 2-3 hrs. Another one with 32 images (same size) would take 28hrs. All on 4090. Strange but seems okay that it uses 48GB of SharedGPU ram.

Hockey

64 GB RAM, 16 GB VRAM, more than 150 GB+ free space on each SSD.

MathiasF

Maybe I'm just stupid, but how can I continue a training session? When I enter the path to my first training session in "Resume Training State", I just get an error message. Do I have to do something else?

MathiasF

Very likely. I'll test that right away. I also have a suggestion for improving the usability of the trainer. Even by using your config files, there are a few fields, such as the paths to the model, VAE, or even the storage paths for LORA, that definitely need to be customized by the user. Could you add an extra panel at the beginning where all these things are queried and then automatically transferred to the correct fields?

Hockey

Thanks for your response, appreciate it, I will let you all know if I'm able to solve it.

JP LONB

Hey Furkan, Thanks again for your amazing work! This new posting sounds quite interesting, but I cannot find any tutorial how to use your Musubi Trainer. Did I miss something or are you going to post one soon? Will a Wan2.2. Lora training be included? You have been announcing for a while that you would ("hopefully") find the time to make a tutorial for a character Lora training for Wan (first 2.1, now 2.2.). But I could not find any so far. It would be great to have this feature. Creating a video out of a character picture is great, but in most of the case, the face on the video gets quite different from the original picture one with the ongoing progress of the video. I expect this will not happen if you use a character Lora, right? Looking forward to it! Thanks in advance!

cool1

Is this Musubi trainer (like maybe Kohya SS trainer) pausing training when there's no internet connection? It seems like it might be pausing (since it took a lot longer to save a checkpoint around the time when the router was off for a % of the time than when the router was on normally during the day, and it did say at one point something like "regained connection". Surely it should have everything it needs to work offline and not need to send any telemetrics or try to load stuff from online when not needed. I didn't add my stuff about no telemetrics but I don't think that helped koyhya ss not pause during no internet connection.

cool1

Since they're all different on different computers, when you create new presets/configs for different GPUs, is there a way it could have those just store a shorter amount of info relevant to the optimizations you're done (in terms of VRAM usage, speed etc.), but make those shorter presets not affect the things that might be different on each PC, like the paths to each file/filenames. eg. when I copied the 24 GB preset to replace mine it had the unix paths in it and I had to reselect the paths to my Windows model files/folders for training etc. Like having 1) Full config load/save & 2) Optimization (shorter) config load/save (related to VRAM usage like block swapping), optimizer type etc. Though maybe it won't really need it if there won't be new presets/configs released often.

Pastel

so does this not have wan 2.2 lora training yet?

cool1

Thanks. Though I thought you changed or added a lot of your own code to it (eg. the original tab with "musubi tuner" shows "depreciated"), so I thought you'd know more about whatever sections of his code you are calling and what they are doing, if you're calling them within your GUI code. Like I said, there should be no need for it to be trying to connect. If it's trying to check for a newer version of something surely that check could be removed or it could be a saved preference for whether it does (but if there's no connection after a few seconds it should just continue). There should be no reason for it to send telemetrics. Though like I said, I ran it before I added the line of code that tries to stop that. If your .bat files could have that added in each release that could save me trying to do it. Though I don't know if that will fully prevent this from happening. It might be other things in the gradio parts. A normal offline app would just work normally offline. Making it not work offline means routers have to be left on constantly overnight, wasting electric, while also increasing the chance of hacks where the user wouldn't notice for hours. Plus it's a security risk if it's trying to send unknown data to some unknown site. I think some of the gradio apps work okay if they're started offline - they continue offline if it stays that way. It seems they have this problem if the connection is turned off part way through what they're doing, even though they have all the necessary local files needed and there's no need for them to connect.

Neil Rhodes

AH good was just checking in to see if i has missed it too :)

cool1

Is there a comfyui workflow we can get from anywhere that would allow us to use the Qwen Image model with a qwen image Lora that we trained using Musubi tuner trainer? I tried changing a flux lora workflow to make it work with qwen but it didn't. Maybe because the "type" is set to Flux but in the drop-down list there's no "Qwen Image" type listed. There's the workflow for qwen with lightning lora but changing that to a different lora doesn't work.

cool1

I'll try searching the internet again then thanks. Loras still don't show for me in swarmui though.

cool1

I've checked for private browser in firefox. I've allowed cookies for the local host's port and it still doesn't show the Loras. It doesn't show them in Firefox or Chrome. I can try re-installing but shouldn't it have installed properly on the first time I ran your installation and if not isn't there something that could be changed to make it work the first time? Surely things shouldn't need to be re-installed multiple times for things like loras to show. I'd have though that there could be some setting that's making it not work. Other software you don't have to do a full erase and re-install just to get some thing working usually.

JustLookingForNothin

Hello Furkan, sorry but the headline of this post is misleading. I just installed this, only to discover that WAN 2.2 in not supported by the GUI. Could you at least publish non-gui sample training scripts for the mentioned Wan 2.2 LoRA training for both Images AND video clips as training data? 24GB VRAM and 64 GB Ram should be enough for clips. Info from Kohya: FP8 support and memory reduction by block swap: Inference of a 720x1280x81frames videos with 24GB VRAM, training with 720x1280 images with 24GB VRAM

cool1

Thanks for your help. I got SwarmUI Loras showing now and I've tested one and it worked. In the server settings in "server configuration" I'd left the setting for "SDLoraFolder" at whatever the default was (either "Lora" or "Loras") as it seemed to say it would search through the subfolder - though maybe it put lora instead of loras or something. When I changed that to have the full path of the loras folder from comfyui and saved that, soon after it showed the list of Loras in the Loras tab of SwarmUI and I could select one. At first the one I selected didn't work as it said "the backend does not have that LoRA" but I think that was because the filename was too long for one of them as it was 134 chars long including ".safetensors" as I included info on what a few of the training settings were as part of the filename and what model it was trained against (qwen_image_bf16.safetensors) as part of the filename too. And I couldn't get it removed (despite pressing the x icon) until I deleted the local cookie. Then after I copied that lora and changed it to a lot shorter filename that then worked when I used it.

cool1

Thanks for the update. It says "This demo config toml uses 5 GB VRAM only when you also run Windows_Switch_Low_RAM_Branch_Temporary.bat". Do you know roughly how much VRAM the dreambooth option uses when you don't run that "switch low ram branch temporary" bat file? >24 GB? Is the Lora training part roughly the same as before but but it's best now to use about 6e-05 instead of 5e-6 (so slightly higher learning rate)? I thought the slightly lower learning rate might help with detail though slower. But maybe not always.

cool1

Thanks. So the dreambooth option probably uses even more than 32 GB VRAM on the main branch. So it seems most people running it locally will need to run the "low ram branch temporary bat file that uses the different branch.

YIZENG

Excellent work! Trying the lora training now! Waiting for the Dreambooth full fine tune configs as well !

YIZENG

I have a question: why use a constant learning rate instead of cosine or others? i ask chatgpt and other AI, they all recommend cosine.

SECourses: FLUX, Tutorials, Guides, Resources, Training, Scripts

i dont see their benefit. this constant learning rate make it more generalized towards different datasets different number of images. moreover this way you can use last checkpoint and continue training. it is being exactly same as uninterrupted training

YIZENG

Understood, constant learning rate is indeed more convenient for testing differnet datasets.

JP LONB

Thanks a lot! I will try it, but it's probably better for me to wait 1) for your tutorial 2) for the Wan2.2. model, which is supposed to work better than the Wan2.1. one, right? The Qwen training did not work for me, so I decided to wait for your tutorial before starting to ask for your help ;-). I am afraid the same will happen with Wan: without a proper tutorial, it is difficult for noobs like me to set everything right :-).

andersefp

I am trying to train a WAN2.2 t2v lora have setup my dataset correctly, like this: training_data/ ├── videos/ │ ├── video1.mp4 (81 frames, 960×960, 16fps) │ ├── video2.mp4 (81 frames, 960×960, 16fps) │ └── video3.mp4 (81 frames, 960×960, 16fps) ├── captions/ │ ├── video1.txt │ ├── video2.txt │ └── video3.txt But when I press the "Generate Dataset Configuration", I keep getting: 10:44:50-592167 ERROR [ERROR] Failed to generate WAN dataset configuration: No valid datasets found in the provided folder structure Traceback (most recent call last): File "F:\Musubi_Trainer_v17\SECourses_Musubi_Trainer\musubi_tuner_gui\wan_lora_gui.py", line 612, in generate_dataset_config config, messages = generate_dataset_config_from_folders( File "F:\Musubi_Trainer_v17\SECourses_Musubi_Trainer\musubi_tuner_gui\dataset_config_generator.py", line 356, in generate_dataset_config_from_folders raise ValueError("No valid datasets found in the provided folder structure") ValueError: No valid datasets found in the provided folder structure I have tried pointing to different locations, but it makes no difference....

Baekdoosixt

Hello ! thank you for your work ! on Qwen training have you ever tried 1024 instead of 1328 ? and if so, did you noticed any change in final quality ? When you train with 1328 resolution , how many it/s do you have ?

Ec Jep

do you have recommendation for "CUDA error: out of memory" for 4090 24GB ram and PC with 64GB ram? using Tier1_21700_MB_VRAM_Need_More_RAM.toml

Ec Jep

1328x1328 and I will try, i also reduced caching batch sixe to 1 and data loading workers to 2

Ec Jep

ok - I have completed these steps and still trying at block swapping at 55 and still out of memory. I am trying dreamboothh training and not lora.

Ec Jep

so far can't get past the OOM error with dreambooth toml. Cache batch size=1, data loading workers=1, block swap 59 and both fp8 quantization options ON (I believe Ostris says same thing - he can't get dreambooth training to work with Qwen on 4090 - only on 5090)

SECourses: FLUX, Tutorials, Guides, Resources, Training, Scripts

sorry it was my mistake get new zip file : Please extract latest zip file, overwrite older files Delete SECourses_Musubi_Trainer\musubi-tuner folder and run Windows_Install_and_Update.bat to update Then run Windows_Switch_Low_RAM_Branch_Temporary.bat for switching low RAM and VRAM branch If you want to retrurn back main branch of musubi-tuner repo rerun Windows_Install_and_Update.bat

Ec Jep

I was able to train without run "switch to low ram branch.." but forgot to click the "memory efficient save" box. Is there a way to reduce the checkpoint size from 40gb to 20gb? Also, do I need to change the extension from .safetensors to .gguf to get swarmui to recognize the qwen trained model?

Ec Jep

it was slow at 15 s/it but had no errors and ran all night. I am waiting to figure out how to test it. I placed the trained .safetensors file in std "diffusion_models" directory but so far swarmui does not recognize it. I will restart the ui and check again. I hope to have same image set trained on SRPO and QWEN to check training quality. Skin tones on SRPO is much better so far compared to flux-dev

Ec Jep

I have trained several models now using qwen with my 4090, with as low as 30 block swapping once I upgraded my system ram to 128GB. The image quality is significantly lower than Flux-srpo models with same training set. SRPO is now my go to for training for realism. Qwen does a great job following prompts which is what is was designed to do. I am not going to train any further with qwen unless there is a high quality image version that comes out later. QWEN also does very funky stuff with different image sizes away from 1328x1328

YIZENG

great work! im starting the Qwen-image fine-tuning now. I noticed you disabled fused_backward_pass in your highest configuration—does that significantly affect training quality? or just the speed?

Klaus

Qwen Image Lora works great!!! But the Full Fine Tuning has no effect. I used the /200_epoch/Tier1_84000_MB.toml . The trained model produces the same images as the original model. What could be wrong? I use ComfyUI...

Klaus

About 40 images. I used joy caption v33 with a prefix qawwsx girl

SECourses: FLUX, Tutorials, Guides, Resources, Training, Scripts

ye that is why. just train with qawwsx that is it. and during inference prompt as photo of qawwsx girl. the more detailed caption you get less detailed output. i tested intensively. during inference after training write your prompts very detailed. but during training make your caption single word

Klaus

Perfecto!

Klaus

Can you already tell whether full fine-tuning has advantages over LoRAs?

Yogesh Patel

Subject: Issue with LoRA - Trained Character's Features Bleeding onto Other Characters in the Scene Hello, I have trained a character LoRA using your tool and am facing a specific issue when using it for image generation. The Problem: When I generate an image with my main character, the character itself looks perfect and just as intended. However, the LoRA's influence seems to "bleed" onto other characters present in the same scene. For example, if there are background characters or other people in the image, their faces and sometimes even their body structures start to resemble the character my LoRA was trained on. I have tested this LoRA with the "Qwen Image" generator and have also tested AI-Toolkit of ostrich, but the problem persists everywhere. This leads me to believe that the issue might be with my training dataset or the training settings, rather than the specific image generation tool. I would be grateful if you could provide some guidance on the following questions: 1. **Training Process:** What should I be mindful of during the LoRA training process to prevent this "character bleed"? Are there specific settings, dataset preparations, or captioning techniques I should use to ensure the LoRA only affects the intended character? 2. **Commonality:** Is this a common problem that many people face when training character LoRAs? 3. **Potential Solutions:** Are there any established methods or solutions to fix this issue, either during training or during the image generation (prompting) stage? Any help or advice you can offer would be greatly appreciated. Thank you for your time and assistance.

photophilic

How do I get the updated version v18.6? The download link is for v18.4

cool1

For the dreambooth is there an option or could one be added to make it not show every caption from every file in the dataset (maybe when it's caching). Surely showing every caption from the dataset in the cmd window (especially if they're long) will slow down processing of them, so maybe a "show each caption when caching" checkbox could be added please. Maybe the same for images (though there's less text shown there).

cool1

I assume for making the Lora not bleed into other characters, I think there's a lora strength setting somewhere when generating. Also if a character was overtrained reducing training steps could help. In past lora training guides they used to recommend using "prior preservation" dataset that had a lot of generic people that it would get trained on too (but a less amount than the main lora person you're training). So you could try that.

cool1

Thanks. But it's already displaying every caption in the dataset without the debug mode enabled. So there currently doesn't seem to be a way to stop it displaying them all (at all), so that's why an option to stop it showing every one would help I think (if it might improve speed as well as only have the output show the main things). So thanks for adding the option to disable output of them.

cool1

Okay thanks. So I assume that's his part of the code that you can't change as it would get overwritten by his code again when he updates his code. So if it's adding that debug info by default even if the debug option isn't specified I'll ask him to remove it if that's his code section.

cool1

For the dreambooth training I copied your Tier1_20800_MB config and edited that copy, since that config was for 24 GB GPUs according to the image about it (I have 24 GB GPU and 256 GB RAM). Though outputting a sample at 1328x1328 takes about 5 mins 20 secs, which is quite a bit longer than outputting a qwen lora sample on the same PC which took up to about 2 mins 40 secs at full res. Is there an easy way to increase the speed of output samples for dreambooth training on this pc to more like 2 mins? Should I go with the Tier 1 13500 MB config (editing a copy) or just increase the block swapping? Will increasing block swapping a bit allow for faster output samples while not making training too slow?

AiAgents

Hey when I try to run Owen edit 2509 trening I got this error AssertionError: control_image_path not found in sample prompt

Neil Rhodes

I just follwed your tutorial and click start training, it started! so thats good! but seem to imply 10 hours. I saw in your tutorial it was around 2 hours. I have 48 images with all the settings you recommended. I already had Python version correct, what would stop it from going fast, Cuda looked really scary to uninstall i did not want to risk my current AI apps from not working as i need then daily. Would a slightly older version of Cuda make it soo much longer or could be another cause? I would guess if i didnt have all the correct dependencies installed it would not have started? any clues ( i have stopped the training for now) I have 5090 plus 64 GB ram, It was using around 26 GB of VRAM when working is that the problem? not using enough? chrome was open and youtube background processes stopped to a minimum. I will try again tonight

Neil Rhodes

So for my setup what would i expect for 50 images, all I wanted was a "rough" benchmark to know how long it should take at 200 epoch , as i dont know :)

Art of 3D Rendering

hi, thank you for the tutorial, but i not able to train i got always error, I choose the 100epoch and tier 2 21700 for my rtx 4090, but i got always this error, any idea what may cause it?: INFO:musubi_tuner.hv_train_network:set DiT model name for metadata: D:/AI/Musabi_Training/Training_Models_Qwen/qwen_image_bf16.safetensors INFO:musubi_tuner.hv_train_network:set VAE model name for metadata: D:/AI/Musabi_Training/Training_Models_Qwen/qwen_train_vae.safetensors steps: 0%| | 0/2500 [00:00 main() File "D:\AI\Musabi_Training\SECourses_Musubi_Trainer\musubi-tuner\src\musubi_tuner\qwen_image_train_network.py", line 501, in main trainer.train(args) File "D:\AI\Musabi_Training\SECourses_Musubi_Trainer\musubi-tuner\src\musubi_tuner\hv_train_network.py", line 2164, in train model_pred, target = self.call_dit( File "D:\AI\Musabi_Training\SECourses_Musubi_Trainer\musubi-tuner\src\musubi_tuner\qwen_image_train_network.py", line 378, in call_dit noisy_model_input = qwen_image_utils.pack_latents(noisy_model_input) File "D:\AI\Musabi_Training\SECourses_Musubi_Trainer\musubi-tuner\src\musubi_tuner\qwen_image\qwen_image_utils.py", line 647, in pack_latents latents = latents.view(batch_size, num_channels_latents, height // 2, 2, width // 2, 2) RuntimeError: shape '[1, 16, 46, 2, 83, 2]' is invalid for input of size 247008 steps: 0%| | 0/2500 [00:17 File "D:\AI\Musabi_Training\SECourses_Musubi_Trainer\venv\lib\site-packages\accelerate\commands\accelerate_cli.py", line 50, in main args.func(args) File "D:\AI\Musabi_Training\SECourses_Musubi_Trainer\venv\lib\site-packages\accelerate\commands\launch.py", line 1213, in launch_command simple_launcher(args) File "D:\AI\Musabi_Training\SECourses_Musubi_Trainer\venv\lib\site-packages\accelerate\commands\launch.py", line 795, in simple_launcher raise subprocess.CalledProcessError(returncode=process.returncode, cmd=cmd) subprocess.CalledProcessError: Command '['D:\\AI\\Musabi_Training\\SECourses_Musubi_Trainer\\venv\\Scripts\\python.exe', 'D:/AI/Musabi_Training/SECourses_Musubi_Trainer/musubi-tuner/src/musubi_tuner/qwen_image_train_network.py', '--config_file', 'D:/Ai_Models/training/Archviz5/qwen/Ouput\\qwen_archviz_20251103-144435.toml']' returned non-zero exit status 1. 14:47:22-667495 ERROR Training failed with exit code: 1

Neil Rhodes

Im sorry how does that translate into hours of training time? i just a rough idea, please for 50 images , thank you, that way i can plan the time to train :) thank you, is it about 2 to 4 hours, 6- 8 hours 10- hours? just rough

cool1

Yesterday I downloaded version 19_1 and clicked "windows install and update". I set Nr of processes to 3, Nr of CPU threads to 4, I left mixed precision at bf16 I enabled "FP8 for Base Model (DiT) [On-The-Fly Conversion]", enabled "Scaled FP8 (Block-wise Scaling) [🎯 CRITICAL for Quality]" (I think it showed those 2 enabled in the video, probably for Windows users). Blocks to swap to CPU is 34 (I think that was the default from the 24/20 GB tier 1) I'm running on Windows. After outputting the samples at step 150 it showed: File "G:\SECourses-Musubi-Trainer\SECourses_Musubi_Trainer\venv\lib\site-packages\torch\nn\modules\module.py", line 1773, in _wrapped_call_impl return self._call_impl(*args, **kwargs) File "G:\SECourses-Musubi-Trainer\SECourses_Musubi_Trainer\venv\lib\site-packages\torch\nn\modules\module.py", line 1784, in _call_impl return forward_call(*args, **kwargs) File "G:\SECourses-Musubi-Trainer\SECourses_Musubi_Trainer\venv\lib\site-packages\torch\nn\modules\linear.py", line 125, in forward return F.linear(input, self.weight, self.bias) RuntimeError: Expected all tensors to be on the same device, but got mat2 is on cpu, different from other tensors on cuda:0 (when checking argument in method wrapper_CUDA_addmm) If there's a conflict in one or more settings that causes that error at that point (even though it trained up to step 150 and output the 1st set of samples) that needs to be changed by the user, can the GUI check for that after you press "start training" and give an error message about it? With that config the output samples were taking just over 6 mins each rather than the 5.5 mins each they were taking without "FP8 for Base Model (DiT)" and "Scaled FP8 (Block-wise Scaling)" enabled.

Neil Rhodes

Just wanted to say training worked bit slower than i hoped but fantastic! I used the 8 step QWEN preset in ComfiUI (as the 50 step Realism seemed to give strange, sometimes mangled results or a mottled look), when i added Samung Lora on top that added more realism fab! Now i can train all kinds of things. Just wanted to share a success story. ! Not sure why the Realism preset gave me those results, any thoughts?

cool1

Okay thanks. I might go back to using the not FP8 settings as it was working that way (but probably using more RAM/VRAM). I need to output samples though to see how it's going and whether it's good enough to stop or whether it seems like it's gone wrong. Last time it seemed to forget how to write text so I stopped it (I assume the learning rate might have been too high). I wouldn't have seen that go wrong without seeing at least one sample every so often showing things like that.

cool1

There seems to be a UI button problem with loading configs. If you go to the Load/Save config file section, and on the right of that you select the "Open" (or load) icon, the dialogue button opens (but it says "select an existing file or type a new filename" but the button options are "Save" or "Cancel" - no "Load". Surely if I want to just load an existing config should one of the buttons say "Load"? If it's allowing someone to save a new file with a new name there shouldn't there be an option for that with a button called something like "Save as"?

cool1

Thanks. Though that thread is about selecting a directory. This "open config file" is about selecting a file. It allows you to select one and open one it's just that the button says "save" rather than "open". Though the issue shows in your attached video on that thread, where it's showing "save" then I think some time later it's saying "select folder". I could add a comment there but I don't know the technical and code reasons why it's doing it like that. But it seems like it is a bug like you say, in gradio.

cool1

I tried using the previous (not FP8) settings that worked previously with the previous version of the app I used (maybe v18.4) but that stopped with the same error of: RuntimeError: Expected all tensors to be on the same device, but got mat2 is on cpu, different from other tensors on cuda:0 (when checking argument in method wrapper_CUDA_addmm) after outputting the samples at step 150. So it's not do do with that FP8 setting. Probably to do with swapping of stuff between the CPU and GPU (maybe it could be related to block swapping). I'd report it on github but I'm not using just his app, I'm using your GUI that calls his app sections, so the error lines mentioning python apps have "secourses"in the paths etc. I'll wait for a later version of it where he hopefully has fixed it.

Sealsuu

So, I'm having an issue with the training randomly stopping without any other extra info. I'm using v19.1 with your QWEN tutorial, but it also happened with older versions. I do a clean install, then I load Tier2_14750_MB.toml and start the training normally. The training executes without any issue for a while, but then, everytime at some different moment, it just gets stuck and stops doing new steps. This could happen after 5 minutes or after 2h of running. There are no errors showing up in the logs nor any clue of what went on. If I look at nvitop / task manager, I can see that there's no activity going on on my GPU, although the my VRAM is still loaded with 15GB or so from the models. My GPU is a RTX5060 with 16GB VRAM, if this would help with anything.

cool1

Kohya has fixed the problem with continuing training after output samples, in pre-release 675. I tested it and that part was working okay. So I assume that will go to an official release soon.

Sealsuu

Thank you, seems like hitting enter works. Switching to shared vram causes this issue, or is this unrelated?

Neil Rhodes

My first lora training fab! My second lora (following the tutorial again) seems to save a lora at 39GB at each save step? what could i have done wrong? This seems massive!

Neil Rhodes

ahh how silly of me thank you (old person mistake !)

chuu

Hey, I hope you're doing well! I'm having a problem when I try to load a config file on Musubi Trainer. When I try to load the config, I get the message “load canceled...” I'm going directly from Runpod, I followed the instructions carefully, there were no errors during installation, and I used the right PyTorch! I don't know where the error is coming from or how to fix it.

chuu

Actually, I don't know if it's a path error because when I click on load config, I don't even have access to the file; it just says load canceled. And when I try to do it manually with the path, it says file not found

chuu

I followed your tutorial, but nothing has changed. I still can't load a configuration, and I still get a “file not found” error when I enter the path! Here is the path I am using: workspace/Qwen_Training_Configs/LoRA_Training/200 epoch/Tier1_45530_MB_VRAM.toml

Melloman

I'm trying to install on runpod but get an error at the end of install and when trying to run the app: Traceback (most recent call last): File "/workspace/SECourses_Musubi_Trainer/gui.py", line 6, in import gradio as gr ModuleNotFoundError: No module named 'gradio' I tried pip install gradio but was getting the same error afterwards.

Melloman

Thanks! You're right, it was the template version. I setup a pod with RTX 5090 and they only support Pytorch 2.8 and above (can't select any lower). I made a new pod with a RTX 4090 and was able to select Pytorch 2.2.0 and now working 👍

100Sachen80

Hi Furkan, i did everything according to your tutorial for training qwen lora, but when generating the image in swarmui, i only get a black picture. with or without --use-sage-attention.

Roy

Hi SECourses, I'm using your Musubi training scripts and configs from Patreon, and I'm experiencing a persistent issue with shared GPU memory on Windows 11 with an RTX 5060 Ti (16GB VRAM). Problem: Even when using configs that should only consume 7-8GB of dedicated VRAM, Windows Task Manager consistently shows 1.1-1.2GB of shared GPU memory being used. This happens with both your 16GB and 8GB VRAM configs, despite having 16GB of dedicated VRAM available. Performance impact: Once shared memory goes over 1GB, each training iteration takes over 30 seconds to complete, making training extremely slow and impractical. What I've tried: Set NVIDIA Control Panel → "CUDA - Sysmem Fallback Policy" to "Prefer No Sysmem Fallback" Checked BIOS: Resizable BAR is already disabled Restarted PC multiple times Killed all background GPU processes Adjusted blocks_to_swap settings (45-59 blocks) Set use_pinned_memory = false in configs System specs: GPU: RTX 5060 Ti (16GB VRAM) RAM: 64GB OS: Windows 11 Insider Build 26100 NVIDIA Driver: 32.0.15.7700 CUDA: 12.9 Question: Is there a way to force Musubi/PyTorch to use only dedicated VRAM and avoid shared memory allocation on Windows, even when VRAM usage is low? Or is there a specific config parameter in your scripts that can help prevent this? I'm considering moving training to Massed Compute to avoid this issue entirely, but wanted to check if there's a Windows-side solution first. Thanks for all your amazing work on these scripts!

SECourses: FLUX, Tutorials, Guides, Resources, Training, Scripts

yes i know this makes you confused. that shared VRAM is not actually shared VRAM. it is pinned memory like stuff. So actually it is how Musubi Tuner does block swapping. as long as your actual VRAM usage is not full or fall back is disabled, you are not using shared vram. that is your GPU actual speed. so use this config for fast training. in lora folder 50 epoch : Tier2_14750_MB.toml

100Sachen80

I think this is the problem, the download is always corrupt, can you fix the file? [ERROR] SHA256 mismatch! Expected: 0b4ecbb63b40a01d5e5153777eae65aabba8a6e34b032144c88ce90666707bae Got: b4b26ae14b8eaaf624746fd9a751f183aa15da2bce780edb965c4d8233cc2d3c [ERROR] Qwen_Image_FP8_Scaled.safetensors downloaded but failed SHA256 verification -> ERROR: Download failed for Qwen_Image_FP8_Scaled.safetensors from MonsterMMORPG/Wan_GGUF

100Sachen80

Thank you, will try that :)

Juanmyth

Dear Furkan, I wonder if the recommended tiers should be applied just by epochs or by epochs x images. Let's say in your example your dataset is 50 images, and you make 200 epochs, that is 10000 train steps. If my dataset is 250 images, would 40 epochs make the same training effect and require the same learning rate (under the assumption of a good dataset)?

Dmitrii

on rtx 5090 linux using Tier2_14750_MB.toml lora config, block swap 52, GPU is not utilised for 100% (real utilisation jumping from 70% to 90%) what could be the reason?

SECourses: FLUX, Tutorials, Guides, Resources, Training, Scripts

block swap is the reason sadly. i guess 52 block swap preventing full gpu utilizations. you may reduce lora network rank to reduce block swap count but that will reduce quality. also torch compile coming very soon hopefully. on windows it brings like 18% speed up - 0 quality loss and reduced VRAM

EvanGuo

24gb,为何我训练30张图lora要15小时

EvanGuo

48GB,15张照片,2小时

cool1

Thanks for the update. So hopefully soon there could be another update with faster speed. One small thing is the post says: 14 October 2025 V20 Update and further below that it says: 30 October 2025 Update V19 I assume the V20 update should be say "14 November...".

Dmitrii

why fp8_vl=true flag is not used for training? would it save some VRAM?

The Catz Home

Can not wait for the "Hunyuan video lora" update ^^ keep up the good work !

EvanGuo

没有看到你在Massed compute上面有musib的qwen的训练

Dmitrii

seems false everywhere. Here is grep output ❯ grep fp8_vl ./**/** grep: ./100 epoch: Is a directory ./100 epoch/Tier1_15150_MB_VRAM_More_RAM_and_Slow_On_Windows.toml:caching_teo_fp8_vl = false ./100 epoch/Tier1_15150_MB_VRAM_More_RAM_and_Slow_On_Windows.toml:fp8_vl = false ./100 epoch/Tier1_21700_MB_VRAM_More_RAM_and_Slow_On_Windows.toml:caching_teo_fp8_vl = false ./100 epoch/Tier1_21700_MB_VRAM_More_RAM_and_Slow_On_Windows.toml:fp8_vl = false ./100 epoch/Tier1_29300_MB_VRAM_More_RAM_and_Slow_On_Windows.toml:caching_teo_fp8_vl = false ./100 epoch/Tier1_29300_MB_VRAM_More_RAM_and_Slow_On_Windows.toml:fp8_vl = false ./100 epoch/Tier1_45530_MB_VRAM.toml:caching_teo_fp8_vl = false ./100 epoch/Tier1_45530_MB_VRAM.toml:fp8_vl = false ./100 epoch/Tier1_51300_MB_VRAM_Fastest.toml:caching_teo_fp8_vl = false ./100 epoch/Tier1_51300_MB_VRAM_Fastest.toml:fp8_vl = false ./100 epoch/Tier2_14750_MB.toml:caching_teo_fp8_vl = false ./100 epoch/Tier2_14750_MB.toml:fp8_vl = false ./100 epoch/Tier2_21700_MB.toml:caching_teo_fp8_vl = false ./100 epoch/Tier2_21700_MB.toml:fp8_vl = false ./100 epoch/Tier2_30000_MB.toml:caching_teo_fp8_vl = false ./100 epoch/Tier2_30000_MB.toml:fp8_vl = false ./100 epoch/Tier3_10700_MB_VRAM.toml:caching_teo_fp8_vl = false ./100 epoch/Tier3_10700_MB_VRAM.toml:fp8_vl = false ./100 epoch/Tier4_8950_MB_VRAM.toml:caching_teo_fp8_vl = false ./100 epoch/Tier4_8950_MB_VRAM.toml:fp8_vl = false ./100 epoch/Tier5_6550_MB_VRAM.toml:caching_teo_fp8_vl = false ./100 epoch/Tier5_6550_MB_VRAM.toml:fp8_vl = false ./100 epoch/Tier6_5075_MB_VRAM.toml:caching_teo_fp8_vl = false ./100 epoch/Tier6_5075_MB_VRAM.toml:fp8_vl = false grep: ./200 epoch: Is a directory ./200 epoch/Tier1_15150_MB_VRAM_More_RAM_and_Slow_On_Windows.toml:caching_teo_fp8_vl = false ./200 epoch/Tier1_15150_MB_VRAM_More_RAM_and_Slow_On_Windows.toml:fp8_vl = false ./200 epoch/Tier1_21700_MB_VRAM_More_RAM_and_Slow_On_Windows.toml:caching_teo_fp8_vl = false ./200 epoch/Tier1_21700_MB_VRAM_More_RAM_and_Slow_On_Windows.toml:fp8_vl = false ./200 epoch/Tier1_29300_MB_VRAM_More_RAM_and_Slow_On_Windows.toml:caching_teo_fp8_vl = false ./200 epoch/Tier1_29300_MB_VRAM_More_RAM_and_Slow_On_Windows.toml:fp8_vl = false ./200 epoch/Tier1_45530_MB_VRAM.toml:caching_teo_fp8_vl = false ./200 epoch/Tier1_45530_MB_VRAM.toml:fp8_vl = false ./200 epoch/Tier1_51300_MB_VRAM_Fastest.toml:caching_teo_fp8_vl = false ./200 epoch/Tier1_51300_MB_VRAM_Fastest.toml:fp8_vl = false ./200 epoch/Tier2_14750_MB.toml:caching_teo_fp8_vl = false ./200 epoch/Tier2_14750_MB.toml:fp8_vl = false ./200 epoch/Tier2_21700_MB.toml:caching_teo_fp8_vl = false ./200 epoch/Tier2_21700_MB.toml:fp8_vl = false ./200 epoch/Tier2_30000_MB.toml:caching_teo_fp8_vl = false ./200 epoch/Tier2_30000_MB.toml:fp8_vl = false ./200 epoch/Tier3_10700_MB_VRAM.toml:caching_teo_fp8_vl = false ./200 epoch/Tier3_10700_MB_VRAM.toml:fp8_vl = false ./200 epoch/Tier4_8950_MB_VRAM.toml:caching_teo_fp8_vl = false ./200 epoch/Tier4_8950_MB_VRAM.toml:fp8_vl = false ./200 epoch/Tier5_6550_MB_VRAM.toml:caching_teo_fp8_vl = false ./200 epoch/Tier5_6550_MB_VRAM.toml:fp8_vl = false ./200 epoch/Tier6_5075_MB_VRAM.toml:caching_teo_fp8_vl = false ./200 epoch/Tier6_5075_MB_VRAM.toml:fp8_vl = false grep: ./50 epoch: Is a directory ./50 epoch/Tier1_15150_MB_VRAM_More_RAM_and_Slow_On_Windows.toml:caching_teo_fp8_vl = false ./50 epoch/Tier1_15150_MB_VRAM_More_RAM_and_Slow_On_Windows.toml:fp8_vl = false ./50 epoch/Tier1_21700_MB_VRAM_More_RAM_and_Slow_On_Windows.toml:caching_teo_fp8_vl = false ./50 epoch/Tier1_21700_MB_VRAM_More_RAM_and_Slow_On_Windows.toml:fp8_vl = false ./50 epoch/Tier1_29300_MB_VRAM_More_RAM_and_Slow_On_Windows.toml:caching_teo_fp8_vl = false ./50 epoch/Tier1_29300_MB_VRAM_More_RAM_and_Slow_On_Windows.toml:fp8_vl = false ./50 epoch/Tier1_45530_MB_VRAM.toml:caching_teo_fp8_vl = false ./50 epoch/Tier1_45530_MB_VRAM.toml:fp8_vl = false ./50 epoch/Tier1_51300_MB_VRAM_Fastest.toml:caching_teo_fp8_vl = false ./50 epoch/Tier1_51300_MB_VRAM_Fastest.toml:fp8_vl = false ./50 epoch/Tier2_14750_MB.toml:caching_teo_fp8_vl = false ./50 epoch/Tier2_14750_MB.toml:fp8_vl = false ./50 epoch/Tier2_21700_MB.toml:caching_teo_fp8_vl = false ./50 epoch/Tier2_21700_MB.toml:fp8_vl = false ./50 epoch/Tier2_30000_MB.toml:caching_teo_fp8_vl = false ./50 epoch/Tier2_30000_MB.toml:fp8_vl = false ./50 epoch/Tier3_10700_MB_VRAM.toml:caching_teo_fp8_vl = false ./50 epoch/Tier3_10700_MB_VRAM.toml:fp8_vl = false ./50 epoch/Tier4_8950_MB_VRAM.toml:caching_teo_fp8_vl = false ./50 epoch/Tier4_8950_MB_VRAM.toml:fp8_vl = false ./50 epoch/Tier5_6550_MB_VRAM.toml:caching_teo_fp8_vl = false ./50 epoch/Tier5_6550_MB_VRAM.toml:fp8_vl = false ./50 epoch/Tier6_5075_MB_VRAM.toml:caching_teo_fp8_vl = false ./50 epoch/Tier6_5075_MB_VRAM.toml:fp8_vl = false

EvanGuo

好难弄,等你部署好吧

100Sachen80

Hi Furkan, regarding my other post about black images after Lora training, i get this while training, eventually the avr_loss changes from a value to "nan" and stays there until 100% is trained. do you know what could cause this behaviour? epoch 16/100 INFO:musubi_tuner.dataset.image_video_dataset:epoch is incremented. current_epoch: 15, epoch: 16 INFO:musubi_tuner.dataset.image_video_dataset:epoch is incremented. current_epoch: 15, epoch: 16 steps: 16%|█████ | 144/900 [1:37:20<8:31:04, 40.56s/it, avr_loss=0.0574] epoch 17/100 INFO:musubi_tuner.dataset.image_video_dataset:epoch is incremented. current_epoch: 16, epoch: 17 INFO:musubi_tuner.dataset.image_video_dataset:epoch is incremented. current_epoch: 16, epoch: 17 steps: 17%|█████▉ | 153/900 [1:43:20<8:24:30, 40.52s/it, avr_loss=nan] epoch 18/100 INFO:musubi_tuner.dataset.image_video_dataset:epoch is incremented. current_epoch: 17, epoch: 18 INFO:musubi_tuner.dataset.image_video_dataset:epoch is incremented. current_epoch: 17, epoch: 18 steps: 18%|██████▎ | 162/900 [1:49:13<8:17:34, 40.45s/it, avr_loss=nan] epoch 19/100 INFO:musubi_tuner.dataset.image_video_dataset:epoch is incremented. current_epoch: 18, epoch: 19 INFO:musubi_tuner.dataset.image_video_dataset:epoch is incremented. current_epoch: 18, epoch: 19 steps: 19%|██████▋ | 171/900 [1:55:06<8:10:43, 40.39s/it, avr_loss=nan]

100Sachen80

Hmmm, did not do any Major changes, just image folder with source jpg files and path to the training model files. Slightly lowered the Block size from 58 (tier 3 lora 10400mb config file) to 56. Have a 3060 12 GB vram and 32gb System ram

100Sachen80

Hi Furkan, will try with 15 epochs and Check the images. I had one succesful training a week ago with even 100 epochs and 15 source jpg images with 1024px resolution. Now abortion with other source images 1328px and 10 images. Maybe i will try again with the exact same images that were successfull a few days ago

100Sachen80

I will try several things and report back my findings :)

Robert Arsene

Hey Furkan! How many s/it should I get with a 4090? Wondering if I'm doing something wrong. I'm getting 29s/it

SECourses: FLUX, Tutorials, Guides, Resources, Training, Scripts

which config? seems too much. i recommend LoRA tier 2 - fp8 scaled configs. they are faster since lesser block swap needed. also now you can do torch compile which adds up to 15% speed. write into extra args part --compile after updating app to latest. hopefully i will add compile feature to app interface directly

Robert Arsene

I used Tier 1_ 21700. I'll try Tier 2. Can't figure out where to add the extra argument.

100Sachen80

Hi Furkan, did some testing, i guess it was me using the interface wrong. you absolutely have to apply the icon right to the save icon when applying a preset (or saving a custom one), so that the preset really loads or reloads before starting the training. i guess this was the mistake, because now i can train 100 epoch lora with 15 images, resolution 1328px with tier 2 lora config file 10700mb, with my 3060 12GB and 32GB system ram without "nan" errors while training.

Covaci Bogdan

hello there , i have this error when i try and instal : This tutorial shows all step by step : https://youtu.be/DrhUHnYfwC0?si=UAAVyZ8_QUPAjy7a fatal: destination path 'SECourses_Musubi_Trainer' already exists and is not an empty directory. HEAD is now at fdb7e42 20.0 Already up to date. fatal: destination path 'musubi-tuner' already exists and is not an empty directory. HEAD is now at f0019af Merge pull request #731 from kohya-ss/fix-qwen-image-train-safetensors-key-error Already up to date. Already on 'main' Your branch is up to date with 'origin/main'. Already up to date. Python launcher is available. Generating Python 3.10 VENV No suitable Python runtime found Pass --list (-0) to see all detected environments on your machine or set environment variable PYLAUNCHER_ALLOW_INSTALL to use winget or open the Microsoft Store to the requested version. The system cannot find the path specified. Requirement already satisfied: pip in c:\python313\lib\site-packages (25.3) Looking in indexes: https://pypi.org/simple, https://download.pytorch.org/whl/cu129 ERROR: flash_attn-2.8.2-cp310-cp310-win_amd64.whl is not a supported wheel on this platform. Obtaining file:///C:/SECourses_Musubi_Trainer_v20/SECourses_Musubi_Trainer/musubi-tuner Installing build dependencies ... done Checking if build backend supports build_editable ... done Getting requirements to build editable ... done Installing backend dependencies ... done Preparing editable metadata (pyproject.toml) ... done INFO: pip is looking at multiple versions of musubi-tuner to determine which version is compatible with other requirements. This could take a while. ERROR: Package 'musubi-tuner' requires a different Python: 3.13.9 not in '<3.13,>=3.10' installation completed check for errors Press any key to continue . . .

aprisma

Hello. Thanx for all your work. I have only one strange problem. I am doing this all on RUNPOD. The installation shows no error. I am on Qwen Image Training, I also did a refresh and then press the folder icon. Normally there should be a popup where I can choose a file but nothing. This is what is written in the terminal: 07:53:55-890235 INFO Open configuration... Any idea? I tried it on serveral browsers. This is written in the configuration status: Load cancelled (even if I could not choose a file) Thanks for your help in advance Found a workaround with copy path and paste it in the line - or is that normal?

aprisma

One other thing. On some of your installations the GUI want to connect in 127.0.0.1 and RunPod cannot use without making an SSH Tunnel manually before from your PC. So if anyone has the same issue you could solve it with export GRADIO_SERVER_NAME=0.0.0.0 export GRADIO_SERVER_PORT=7860 inside the venv. Thanx for your great courses. You are amazing. You bring people true konwledge. I wished I would have found you earlier :-)

aprisma

You did not write that in your instructions :-)

aiworkflowzzz

Thanks for uploading this! I have been trying to train on Wan 2.2 for the past day or so. The trainer only saves 1 .safetensors file. Are you supposed to use the same file for both High and Low Loras?

Dmitrii

would be helpful if you can attach for every config direct command to run in CLI within musubi-tuner repo, for people who are familiar with CLI and want to skip gradio UI

Alex Yiu

Hi Furkan, I trained a Qwen Image LoRA with 7 images, using Tier2_14750_MB, rank 128, 80 epochs, lr 1e-4, batch size 1, fp8 scaled, and cache latents enabled. Training speed was around 269 sec/step, total 560 steps → about 41 hours, and the final LoRA file is ~2.3 GB. My GPU is RTX 5080 Laptop (16GB VRAM) on Windows. Is this training speed normal for this GPU? I’m only using 7 images because the training is extremely slow — not because I want a tiny dataset. If I increase the image count, the total training time becomes too long. Do you have recommended settings (rank / epochs / lr) for faster training on a 16GB GPU, while still keeping good quality? Maybe rank 128 is too high for this VRAM? Thanks!

Alex Yiu

Hi, I need help confirming if my training speed is abnormal. Hardware - RTX 5080 Laptop GPU (16GB VRAM) - AMD CPU Speed Issue - Resolution: 1024×1024, batch 1 - v21 Tier2 14750MB config - torch.compile enabled - swap blocks: tested 45 → 46 (recommended) - Text encoder caching works - But training is still 150 sec/it You mentioned the worst should be around 15 sec/it, so I think something must be wrong. Settings currently used - All listed are the REAL settings inside v21 UI: Model & Precision - VAE Data Type = bfloat16 - Text Encoder Data Type = bfloat16 - Use FP8 for text encoder = OFF - Resolution = 1024×1024 (fixed) - No bucket - batch size = 1 Torch Compile (all enabled) - Enable torch.compile = ON - Compile Backend = inductor - Compile Mode = default - Dynamic Shapes = auto - Cache Size Limit = 0 Memory-related - Faster Model Loading = OFF - Use Pinned Memory for Block Swapping = OFF (not sure if I should enable?) - swap blocks tested: 45 → 46 - No gradient checkpointing - Rank = 128 (default from Tier2) Question - Can you please tell me which v21 settings I should adjust specifically for a 16GB laptop GPU to reach normal speed? - If needed I can provide full screenshots of the exact panels. Thanks a lot!

Summer98

can you provide a config file for musubi to train wan 2.2 i2v? i have a 4090

abaj006

I am using your Musubi Trainer for Qwen DreamBooth training. I am getting 6.2s/it with a 5090 GPU on Linux for 1328x1328 image size, is this too slow or normal? The GPU memory usage was 0.5 GB before training, and while training its 31.6G (Block Swap to CPU set to 20). Also, I noticed that the GPU power usage fluctuates between 200W to 575W continuously.

abaj006

Thanks, I have some interesting feedback. I was playing around with the settings, and the only thing I changed to improve things was that I ticked "Use Pinned Memory for Block Swapping". Even though I am using Ubuntu, this significantly improved my training speed (from 6.2 s/it to 5.26 s/it). Also the GPU power usage is now very stable, only fluctuating by around 80W maximum. It seems that without pinned memory, the Block Swapping was too slow, and the GPU was waiting for this process, but now it no longer waits, and GPU is 100% loaded during training!

sh fung

Hello Furkan, I have a 4090 as master gpu and 4080 as eGPU that I could not use the multi-GPU function for Lora training with errors. May I know more on the config for the multi-GPU and any acceleration coding for multi-GPU please? By the way, really appreaciate your patreon with lots of AI related information, very useful!

Leonid Wolf

good time of day. I apologize for the concern, since you rarely respond to comments on patreon, I decided to write to you directly here. I recently purchased your SECourses_Musubi_Trainer_v21 build at patreon for lora qwen training and encountered an error steps: 0% | 0/5000 [00:24 File "D:\AI_creators\SECourses_Musubi_Trainer_v21\SECourses_Musubi_Trainer\venv\lib\site-packages\accelerate\commands\ accelerate_cli.py", line 50, in main args.func(args) File "D:\AI_creators\SECourses_Musubi_Trainer_v21\SECourses_Musubi_Trainer\venv\lib\site-packages\accelerate\commands\ launch.py", line 1213, in launch_command simple_launcher(args) File "D:\AI_creators\SECourses_Musubi_Trainer_v21\SECourses_Musubi_Trainer\venv\lib\site-packages\accelerate\commands\ launch.py", line 795, in simple_launcher raise subprocess.CalledProcess Error (returncode=process.returncode, cmd=cmd) subprocess.Called ProcessError: Command '['D:\\AI_creators\\SECourses_Musubi_Trainer_v21\\SECourses_Musubi_Trainer\\venv\ \Scripts\\python.exe', 'D:/AI_creators/SECourses_Musubi_Trainer_v21/SECourses_Musubi_Trainer/musubi-tuner/src/musubi_tun er/qwen_image_train_network.py', '--config_file', '/home/Ubuntu/apps/StableSwarmUI/Models/Lora\\K_lora_trainer_20251214- 094845.toml']' returned non-zero exit status 1. 10:29:66-719768 ERROR Training failed with exit code: 1 I did everything according to your example from youtube, I have an RTX 3060 12gb. The setting was applied for 200 epochs Tier3_10700_MB_VRAM

Leonid Wolf

I've sent you all the error screenshots in discord. Thanks

Alex Yiu

Hi Furkan, first of all, thank you very much for your work and guidance. Sorry for the late follow-up — I had some work commitments recently and only just finished testing both TOML configs. Here are my results: Environment GPU: RTX 5080 Laptop GPU Dataset: 12 images, 1024×1024 Batch size: 4 Epochs: 80 Swap blocks: 46 Tier3_10700_MB_VRAM ✅ Successful Average speed: ~12.7–13.5 s/it Total training time: ~3.4 hours Training completed normally and produced a usable LoRA This config works very well and is stable in my environment. Tier2_14750_MB_VRAM ❌ Not usable in practice Average speed: ~491 s/it Training speed was extremely slow, so I did not continue further testing Conclusion For my setup (RTX 5080 Laptop GPU), Tier3_10700_MB_VRAM is clearly the optimal configuration, and I can reliably complete my LoRA training using it. Thank you again — this toolkit is extremely helpful.

Bryan Henson

Have you done a comparison between the major Lora trainers? Or is that something that is too subjective? I love AI Toolkit but Qwen training on it is atrociously slow and vram and ram consuming. I'd love to know how it compares with musubi and your kohya fork.

GH

The 'Windows_Download_Training_Model_Files.bat' file still only contains WAN2.1 models for T2I, any chance you could update it for WAN2.2 please? Also, any idea what training resolution is best for WAN2.2?

SECourses: FLUX, Tutorials, Guides, Resources, Training, Scripts

make a fresh install. you obviously not properly updating. it has all models for a very long time now Please select which models to download: 1. Qwen Image Training Models - qwen_2.5_vl_7b_bf16.safetensors - qwen_train_vae.safetensors - qwen_image_bf16.safetensors Default directory: Training_Models_Qwen 2. Qwen Image Edit Plus (2509) Training Models - qwen_2.5_vl_7b_bf16.safetensors - qwen_train_vae.safetensors - Qwen_Image_Edit_Plus_2509_bf16.safetensors Default directory: Training_Models_Qwen 3. Wan 2.1 Text to Video Training Models - Wan2_1_VAE_bf16.safetensors - models_clip_open-clip-xlm-roberta-large-vit-huge-14.safetensors - umt5-xxl-enc-bf16.safetensors - wan2.1_t2v_14B_bf16.safetensors Default directory: Training_Models_Wan 4. Wan 2.2 Text to Video Training Models - Wan2_1_VAE_bf16.safetensors - umt5-xxl-enc-bf16.safetensors - Wan-2.2-T2V-High-Noise-BF16.safetensors - Wan-2.2-T2V-Low-Noise-BF16.safetensors Default directory: Training_Models_Wan 5. Wan 2.2 Image to Video Training Models - Wan2_1_VAE_bf16.safetensors - umt5-xxl-enc-bf16.safetensors - Wan-2.2-I2V-Low-Noise-BF16.safetensors - Wan-2.2-I2V-High-Noise-BF16.safetensors Default directory: Training_Models_Wan Enter your choice (1-5):

100Sachen80

Hi Furkan, I finally have my new PC with 64GB ram and 5070 ti 16GB :D I optimized your WAN T2V (for images) preset, maybe useful for other people with same pc configuration. Using your 16gb fp8 preset. I lowered block size to 23 and activated "pinned memory for block swapping". Using 15gb vram now and 31gb system ram. Result: Training time is around 5 - 7% faster now for me. A question: Do i have to train 2 models seperately, one for wan image generation and one for wan video generation, or can i just also use the text to video wan model training (high + low) for image generation? in your video you show 2 seperate trainings.

100Sachen80

Okay thanks, will test ☺️

Tethyan

Hi Furkan, i got an error while trying to train Wan2.2. T2V, its work perfectly with the low Noise model but when i add the High Noise i get this error : using RTX6000-96GB with 128GB RAM additionally RTX 5090 as seconed GPU (torch.AcceleratorError: CUDA error: out of memory CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1 Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions. steps: 0%| | 5/2800 [00:22<3:25:04, 4.40s/it, avr_loss=0.147] Traceback (most recent call last): File "C:\Python310\lib\runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Python310\lib\runpy.py", line 86, in _run_code exec(code, run_globals) File "E:\Ai-Models\SECourses_Musubi_Trainer\SECourses_Musubi_Trainer\venv\Scripts\accelerate.exe\__main__.py", line 10, in File "E:\Ai-Models\SECourses_Musubi_Trainer\SECourses_Musubi_Trainer\venv\lib\site-packages\accelerate\commands\accelerate_cli.py", line 50, in main args.func(args) File "E:\Ai-Models\SECourses_Musubi_Trainer\SECourses_Musubi_Trainer\venv\lib\site-packages\accelerate\commands\launch.py", line 1213, in launch_command simple_launcher(args) File "E:\Ai-Models\SECourses_Musubi_Trainer\SECourses_Musubi_Trainer\venv\lib\site-packages\accelerate\commands\launch.py", line 795, in simple_launcher raise subprocess.CalledProcessError(returncode=process.returncode, cmd=cmd) subprocess.CalledProcessError: Command '['E:\\Ai-Models\\SECourses_Musubi_Trainer\\SECourses_Musubi_Trainer\\venv\\Scripts\\python.exe', 'E:/Ai-Models/SECourses_Musubi_Trainer/SECourses_Musubi_Trainer/musubi-tuner/src/musubi_tuner/wan_train_network.py', '--config_file', 'E:/Ai-Models/SECourses_Musubi_Trainer/00Data/ModelOut2\\Wan22_Text_To_Video_LoRA_Trix_1_20251222-225215.toml']' returned non-zero exit status 1. 22:53:39-737089 ERROR Training failed with exit code: 1

Tethyan

it didn't work, enable or disable gradient still getting the same error after step 5 or 4 step, without the high noise i get 1.6s/it .

manoj ramanchira

Hi, Z-image training is integrated in Musabi?

Tethyan

Thank you Furkan for your support, indeed i enable offload dit to cpu and its work but really very slow i am getting 61.04s/it with 160W power usage, i tried as well with gradient and its more slower. so what i did, i load the 32Gb config, change it to GPU 1 (the aim was to test it in my 5090 GPU ) and its work in my GPU 0 !! so i remove the block swap and its show 2.43s/it with full power in my 6000 GPU.. maybe there is issue with 96GB profile, i don't know.

100Sachen80

Hi Furkan, do you think that training qwen on Qwen_Image_Edit_2511_BF16.safetensors yields even better results than training on qwen normal non-edit base checkpoint?

Yogesh Patel

Hi, Thank you so much for regular updates on this topic. I have updated my Musubi Trainer to v25 but when running the same In webpage UI it's still written "SECourses Musubi Trainer V24.0".

GH

How do we select 2511 edit in the gradio webui? Neither the 'Enable Qwen-Image-Edit Mode' or 'Enable Qwen-Image-Edit-2509 Mode' defaults to the '--edit-2511' flag. I keep getting the following error with the latest V25 and 2511 model for lora finetuning (fresh install): File "Z:\AI_Image_Generation\Musubi_Trainer_SE-Courses_19.1\SECourses_Musubi_Trainer\musubi-tuner\src\musubi_tuner\qwen_image\qwen_image_model.py", line 1396, in load_qwen_image_model assert zero_cond_t, "Found __index_timestep_zero__ in state_dict, the model must be '2511' variant." AssertionError: Found __index_timestep_zero__ in state_dict, the model must be '2511' variant.

100Sachen80

Nice! Thank you for implementing, will try

Shing Ming Lin

Qwen-Image-2512 has been released. Is its training method the same as Qwen-Image?

abaj006

This tool has been working great for me, but seems that it needs an internet connection at the start of the training, otherwise I get this error below. Is there a way to get it to cache what ever it needs so it wont constantly need an internet connection every time I start a training? Thanks File "/SECourses/SECourses_Musubi_Trainer_v26/SECourses_Musubi_Trainer/venv/lib/python3.10/site-packages/requests/adapters.py", line 565, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: (MaxRetryError("HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /api/models/Qwen/Qwen-Image/tree/main/additional_chat_templates?recursive=False&expand=False (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))"), '(Request ID: 845c5279-b15e-40f5-ac85-9689da1d5c5c)') Text encoder caching failed with error code 0

lp

Thanks for the work on the trainer Do you plan to adapt the configs specifically for Wan 2.2 Image-to-Video training with real video datasets?

Pacior83

Hi, thank you for your great work. I'm currently training a wan 2.2. lora with dual model training, I'm using runpod, I've triple checked all the settings (including setting a path to both high and low noise model in the runpod workspace - and it loaded both models correctly). I've set Offload Inactive DiT to CPU, and Timestep Boundary (Dual-Model Switch Point) is set to 0 (auto). And it's saving a lora every 20 epochs, but there is only one lora checkpoint file - it's not producing high and low noise lora.safetensors. Is this normal behaviour, does it mean I have to wait untill the end of training, are there any other settings I should use?

dub1ous (edited)

Comment edits

2026-09-07 10:00 Plans on updating installer for Cuda 13?
2026-01-14 15:06

cool1

I think this is with v25 of the GUI. That's the last zip I downloaded but it shows v24 in the top of the GUI after extracting that zip. Is there a bug with how the GUI+Musubi Tuner code handle output samples where you tell it to output samples every 90 steps and leave "output every n epochs" set to 0 (where your GUI says 0=disabled)? I have "sample every n steps" set to 90, and I have "Sample every N epochs" set to 0 (below that line says "Generate test images every N epochs. 0 = disable. Overrides sample_every_n_steps"). but during Lora training it's outputting sets of samples every 90 steps AND sets of samples at epoch saves (at least some some of them). eg. at step 1260 it saved my samples because it was a multiple of 90 steps and it also saved identical sets of samples because it was a new epoch (the samples have _e in the filename). Is there a problem with way your GUI calls the Musubu tuner code for this bit? In hv_train_network from lines 361 in my version it shows: def should_sample_images(args, steps, epoch=None): if steps == 0: if not args.sample_at_first: return False else: should_sample_by_steps = args.sample_every_n_steps is not None and steps % args.sample_every_n_steps == 0 should_sample_by_epochs = ( args.sample_every_n_epochs is not None and epoch is not None and epoch % args.sample_every_n_epochs == 0 ) if not should_sample_by_steps and not should_sample_by_epochs: return False return True But there it's testing if args.sample_every_n_epochs is not None but isn't your code treating 0 as "none" (disabled)? Could something to do with this code be the reason why it's outputting samples every 90 steps and during epoch completion (I don't think it's every epoch as I haven't seen a lot but a few of them)? If it isn't already, should the GUI be passing "None" instead of 0 to the training code if "0" (disabled) is entered in the GUI for "sample every N epochs"? Or if it already is, what could be causing what is happening for me with the samples being output on some epoch completions (despite 0 being entered for "every n epochs")?

cool1

I wasn't sure, if it's a bug, whether it's a bug in Kohya's code or in how the GUI calls it (if it's passing "0" instead of "None" when 0 is specified for samples every n epochs and samples every n steps is >0. I'm not really understanding if it's that code section that's wrong. I explained it to perplexity.ai and asked if that code section could be a problem. Maybe it could be because of the modulo operation. Initially it thought there wasn't an issue with the code, then this is what perplexity.ai said after I said what was happening in my case: "The logic assumes is not None safely disables sampling, but setting to 0 in GUI bypasses this—crashing on steps or incorrectly sampling on epochs. GUI "disabled=0" contradicts code expecting None [conversation_history]. [when it says "crashing on steps" it's not actually crashing the app. But it said it might raise a ZeroDivisionError if what it was dividing by was 0, but that it might silently raise it] Fixed Version python def should_sample_images(args, steps, epoch=None): if steps == 0: return args.sample_at_first should_sample_by_steps = ( args.sample_every_n_steps is not None and args.sample_every_n_steps > 0 and steps % args.sample_every_n_steps == 0 ) should_sample_by_epochs = ( args.sample_every_n_epochs is not None and args.sample_every_n_epochs > 0 and epoch is not None and epoch % args.sample_every_n_epochs == 0 ) return should_sample_by_steps or should_sample_by_epochs This treats 0 as disabled (no exception, returns False unless steps multiple matches a positive interval). Update GUI to pass None for true disable, or use this robust check" Though I don't know whether the GUI is actually setting it to 0 in the code it passes to Kohya's bit of the code. But it shows it as 0 in the part we enter/see in the GUI. I can create a short video with screenshots showing the issue if needed. I don't think you usually ask it to output samples while training so that might be why you're not seeing this issue with it outputting samples at (some) epochs too.

cool1

Does the latest Musubi Tuner GUI support Z-image training? The new base model came out yesterday but I assume training should be almost the same as Z-image turbo. I don't see a tab on the version of my GUI (that might be v25, though it shows v24 in the GUI). and I don't see it mentioned in the recent updates. On the github for musubi tuner it says in the introduction "This repository provides scripts for training LoRA (Low-Rank Adaptation) models with HunyuanVideo, Wan2.1/2.2, FramePack, FLUX.1 Kontext, FLUX.2 dev/klein, Qwen-Image, and Z-Image architectures.". and it has some changes related to z-image earlier in January. I haven't tried the new Z-image yet but people seem to think it's good on the testing on reddit. Can it be added if the the Musubi Tuner GUI if it's not there please?

cool1

Thank you.

YIZENG

Looking forward to the finetuning of z-image.

cool1

Thanks for the v27 z-image training update.

YIZENG

I tried full fine-tuning of z-image on musubi-tuner. The samples are okay, but when I download the model and run it through a ComfyUI workflow it produces completely black images. I don't know why

David

For those using the trainer on Linux, how can it be updated? Thanks

David

Yes yes, I've already installed it, I just wanted to know the correct procedure for updating.

David

Ok thank you

Mazvy

With default settings Z-Image Base character Loras come out with very poor likeness and drop the overall quality significantly. However same datasets (~20 photos, 512px, no captions) with FLUX.1-dev result in almost perfect likeness. Using default settings for with the presets you've provided. For Flux the default settings work like a charm with the older koyha_gui_flux of yours I've still been using to this day as I think it creates really good character Loras. Hope to see Z-Image Base default config perform better out of the box. I'm OK with tweaking stuff around but having good pre-done presets is why I'm willing to pay for your time and effort creating them. Still happy with your effort and willing to support you.

cool1

Try using it in Swarmui. I had black images I think when I tried z-image base in comfyui but it worked okay through Swarmui (maybe because of something like sage attention).

cool1

In the samples output option for z-image base training, can we please have the ability to override some of the enhanced prompts like we could on qwen image training. There was also an option to disable enhanced prompts there too. eg. in qwen image training output samples we could have it give the samples a default nr of steps, default width & height etc. but we could override different prompts (eg. have the ability to output some with different width and height and some with different number of steps by allowing us to add --s (nr of steps) --w (width) --h (height) in the prompt file (eg. for faster samples output or if we want to see some in widescreen format etc.). It doesn't seem to be reading the changed steps, width & height in the samples for z-image base training (I'm testing a lora with it and it always outputs at the default width & height & nr of steps). -- Also do you know settings should we use to speed things up (for RTX3090 GPUs with plenty of system RAM)? I've enabled pinned memory. eg. in the demo config for lora setting it has "Use SDPA for CrossAttention" enabled but all the checkboxes in that top line of the "training settings" section disabled. Perplexity is saying to enable xformers as well (as it says it helps with rtx30 series GPUs and supports bf16, high batch sizes), though the default z-image base lora training config doesn't use the bf16 training - it has "Full BF16 Training" disabled (so it seems like it's storing things like fp32). So I don't know whether enabling xformers too will help. But doing caching of images seems quite a lot slower than doing caching of them for qwen image training (though I have been trying 1536x1536 res and am now trying 1456x1456 to try to get per step training faster).

YIZENG

The flux1 dev model is indeed easier to train, I've noticed that too

cool1

On the Z-image base training, for dreambooth/fine tuning, there's option checkboxes for caching the images and caching the text. So since they're options it seems like you're not forced to cache them. So I disabled caching them for the dreambooth training, then it found the dataset and then it showed 0 and said: "ValueError: No training items found in the dataset. Please ensure that the latent/Text Encoder cache has been created beforehand." But I disabled caching. Can't it work with the caching option disabled? Why is it looking for the cached images/text when I disabled caching? Or does the text (captions) need caching but not the images? Or do both have to be cached?

cool1

Thanks. I've now enabled caching_teo_skip_existing and it's caching the text. If it's mandatory maybe there shouldn't be an option for it. Or maybe it could be made not mandatory. Maybe it doesn't really matter though. edit: it did the same for the images - it didn't train with them if they weren't cached, even though it's optional in the GUI. The user might not always want to cache them. eg. you might want to test different training resolutions times at the start (like 1536x1536 or 1328x1328, and if you cached the dreambooth resolutions at the start it would cache both I assume, and take time and space (which could be a lot depending on dataset size), when without caching you could see a lot quicker how different training times compared for dreambooth.

SECourses: FLUX, Tutorials, Guides, Resources, Training, Scripts

with v27.4 i just added that sample prompt thing. please test and give me detailed feedback if still not as you wish. just run updater. for speed up other options sadly not working. only and best way is reducing the resolution but it impacts quality sadly

cool1

Thanks. I'll try the updated one soon. Probably tomorrow morning.

cool1

Do you know where I can download version 27.4 or 27.5? The top of the main post about musubi says "Latest Zip File : SECourses_Musubi_Trainer_v27_2.zip" and the attachments section says "SECourses_Musubi_Trainer_v27_2.zip" The update for 10 February 2026 says V27.5 (though there's no zip file for 27.5 that I can see.). edit: I've just "windows install and update.bat" and that's installed the latest 27.5 version, so that's got the latest one thanks.

cool1

Edit: I think the 2 sets of errors I posted before I've removed them was probably because I was loading the z image base dreambooth config into the qwen image training tab by mistake (oops). Ideally it could give an error message if you try to do that. eg. put something in the config file to say what sort of config file it is (whether it's from qwen image tab or z image base training tab etc) and check that when you open it in a particular tab.

cool1

Though because the exisitng latent image caches in the place I'm using the dataset were generated by a previous qwen image dreambooth train (at 1328x1328) the musubi tuner trainer seems to be failing on it because I've set the dataset res (in the config file) to 1536x1536 for this musubi dreambooth. So maybe it doesn't like the mismatch between the existing latent image cache res and the config's datset res. Couldn't it have the option to delete all the existing latent image cache files then, eg. the ones with a different res than the user is training the current dreambooth at?

Pham Don

I apologize if I asked at the wrong place please help point me to the right direction. I was able to successfully trained a person, may I ask if there’s a specific tutorial that allow me to train for a specific clothing as well? Thank you for your time.

Pham Don

Thank you sir, it is the video that I’ve been watching. Sorry I’m really new to this so I can just train another Lora with just specific object I want and when I load the two Lora that include a person and object I can just change strength is that correct ? Thank you for your help

Pham Don

May I ask if you have a tutorial for training 2 separating things in 1 training ? Would it be wise if I can just get the object into what I want to see and then train the object that already swap? I’m not sure if you have a tutorial to do a batch image swap process ? Thank you for your time

cool1

I tested the samples output overrides for Musubi Tuner training (without disabling enhanced prompts) of --s (steps), --w and --h and it changed those to what I specified okay thanks. So that that's working thanks. During training I did get a message saying " torch._dynamo hit config.recompile_limit (8)" but I assume it's not a problem as it's continuing training.

Ec Jep

do you have recommended lora training parameters for flux.2 klein model for 4090? I am assuming this is the best model for realism lora training (>zimage>flux.1>qwen>...)

Ec Jep

thanks I am trying now, 250 epoch, 25 images, learning_rate = 0.0001, network alpha=32, cosine AdamW8bit. Needs more fine tuning

Ec Jep

so far the settings above are much better than network_alpha=128

Pham Don

Oh so if I understand correctly then I just follow the tutorial but instead of just have one folder liked 1_ohwx for the face then another sub folder name 1_random name. Is that correct ? Thank you for your time.

Pham Don

I apologize I am not comprehend it yet. May I ask what tier do I need to subscribe to just have private message you on discord for about 10 minutes to hope to understand this better ? Thank you for your time.

Pham Don

I just subscribed gold tier. Do I need to pay you another $125?

Pham Don

Oh got it. Thank you sir.

cool1

So in your Musubi Tuner GUI the z image training tab has an option to train a Z image Lora and to train a Z image Dreambooth (it shows Training mode: Lora Training/Dreambooth training). I tried training a Lora and that seemed okay. I tried training a Dreambooth and when I tested my dreambooth of it (just using a few training steps just to get it to save the model) in SwarmUI, the swarmui log section shows: "got prompt" then other stuff then: "2026-02-14 15:05:56.380 [Debug] [ComfyUI-0/STDERR] unet missing: ['x_embedder.weight', 'x_embedder.bias', 'noise_refiner.0.attention.qkv.weight', 'noise_refiner.0.attention.out.weight', 'noise_refiner.0.attention.q_norm.weight', 'noise_refiner.0.attention.k_norm.weight', 'noise_refiner.1.attention.qkv.weight', 'noise_refiner.1.attention.out.weight', 'noise_refiner.1.attention.q_norm.weight', 'noise_refiner.1.attention.k_norm.weight', 'context_refiner.0.attention.qkv.weight', 'context_refiner.0.attention.out.weight', 'context_refiner.0.attention.q_norm.weight', 'context_refiner.0.attention.k_norm.weight', 'context_refiner.1.attention.qkv.weight', 'context_refiner.1.attention.out.weight', 'context_refiner.1.attention.q_norm.weight'...". It continues trying to generate an image after that but it just generates an image of noise or similar. Is the Dreambooth section of Musubi Tuner trainer (z image tab) definitely complete and if so what could cause that error? Could we please have a short training video of training a Z-image base dreambooth in Musubi Tuner trainer in case I've done it wrong?

Kieran Hawk

Any progress on Z-Image Base training/tuning?

Emren

Hocam merhabalar. I was following tuttorial video of qwen image models training - lora. But during grid generation, I get this error [Warning] Input has 2 loras, but 1 weights - the two lists must match to work properly. Applying an automatic fix. What can it be reason? Thank you

Ec Jep

here is info for you. My lora training has finally surpassed flux.1 dev full training by doing this: Flux 9b Klein lora training, using prodigy optimizer (required), captioned images (required), repeats 1 for body and 2 for face. Other setup details as well but can train a lora in 800 steps and the skin quality and likeness is close to actual photos. I am using musubi training with block swapping on 4090

DanielsV (edited)

Comment edits

2026-09-07 10:00 Any idea when for a training preset for Z_image ? The quality will be like can do with OSTRIS AI-TOOLKIT or better ?
2026-02-27 18:25

Emren

Hocam will you add qwen 3-vl soon? Thank you.

Emren

Are small versions of Qwen3-VL, like the 2B model, not as good as Qwen2.5-VL?

Juanmyth

Ostris AI toolkit is great, but it breaks sound for LTX 2 loras. Hope you release the Musubi trainer presets soon to test it.

Mig Test

Request: implement the latest updates from Kohyaa for LyCROIS support. I love your work and it is my go to for training. I am excited to play with the LyCORIS training, and would prefer to do it through your interface. Dare we hope this can make results similar to full fine tune? I'm also excited by the possibilities of Flux2, but training isn't great yet. It's my hope that LyCORIS + Flux 2 will yield even better results that Flux1 full fine tune. I would love to hear your thoughts.

Juanmyth

I wonder if Wan 2.2. Animate loras exist or can be trained.

Juanmyth

Wan 2.2. is based on 2 models, but Wan 2.2. Animate only uses one. I have not seen any way of training this. I use Wan 2.1. or Wan 2.2. Low Noise loras with acceptable results (mainly character loras for character consistency). But I wonder if there is a method to train a native Wan 2.2. Animate lora.

cool1

Was the Musubi tuner trainer updated quite recently in a way that would make it a bit unstable on RTX3090 GPU windows PCs, when doing qwen image lora training, with certain settings (I had tried changing various settings and was training with a config that was originally based on the 21.7 GB-ish tier 1 VRAM usage config - though it would actually use more than 23 GB during some points like output samples)? It trained okay in December/January but training recently it sometimes makes the monitor go blank part way through training and not come on again unless the pc is reset, even though I updated to the latest studio driver (with clean installation of it). I was usually using the "pinned memory" option as I have quite a lot of RAM, but it would also do the same thing with the monitor/gpu with pinned memory turned off too. Windows would say things like "Faulting application name: dwm .exe" - but other apps that use a lot of GPU/ram aren't causing that issue. Could it have been anything like the change to the output samples or some similar change? Like is it using some pre-compiled thing that assumes a certain GPU/operating system/driver that might not be compatible with the system the user is using it on?

Ec Jep

what settings for quantizer for qwen 2512 trained models do you recommend? I used "original" optimizer on musubi v27.8 and it took about 30 minutes. With musubi v28.1 using "prodigy" optimzer is 45 minutes so far and still going. Other settings the same: preset: Fp8 scaled (tensorwise), model : qwen, workflow: quantize, format FP8 (E4M3). Also either quantized model has high tendency for artifacts compared to original model.

TheD1C

Hey Doc, just checking in if you have an ETA for training LTX2.3?

Kieran Hawk

Regarding the "demo training configs," which are essentially all the configs except wan22 and qwen. Am I right in assuming this means they are WIP and you will optimize these configs at a later date, or am I just misunderstanding the use of the word "demo" here?

cool1

Thanks. I'm using the latest (or what was the latest when I wrote that post) studio driver for my RTX3090 GPU. When I then went and used an old Kohya SS trainer and trained a flux1 dev lora after having the freezes on Musubi tuner trainer with qwen, it trained flux1 dev lora okay (thousands of steps). So that was working okay with my current driver but not Musubi with qwen image 2512 lora (that had worked before). Though I know qwen likely uses more resources/RAM/VRAM, but training the flux1 dev lora was using most of the GPU VRAM too and worked. If it's a problem with Musubui and recent update hopefully it can be fixed or hopefully there can be a way to go back to the one from a few months ago (Dec/Jan) when it was working okay.

Ec Jep

Latest update (4/27/26) on 28.1 has a new SVD feature under "optimization and quality" that increases quality and so far no artifacts. I highly recommend using "Uses full SVD instead of the faster low-rank SVD approximation. This can improve quality or stability on some sensitive layers, but it is much slower and uses much more memory." It is slower to convert but worth the wait.

David

Hi! I have a question about training a female LoRA. For the image dataset, regarding makeup: should the dataset contain both makeup and no-makeup photos, or is it better to keep the makeup style consistent across all images? And in that case, should the captions still remain empty, or should I describe the makeup differences in the captions? Thanks!

David

Ok thank you, in any case, the technique of not using the caption is valid. Just for info (I updated to the last version) using Ubuntu, 31 pictures 1328x1328, qwen 2511 edit model, 200 epoch , 6200 step, processing time 6 hours and 8 minutes. I need to understand if there is still room for improvement by tweaking the configuration parameters. Anyway, my PC is 9950x3d, rtx5090 liquid, 96 GB RAM, SSD 990pro. With the fans at medium-high speed the GPU temperature was always around 54 degrees 😅

David

When I mentioned tweaking configuration parameters, I meant things like training settings inside Musubi (optimizer, scheduler, rank, repeats, caching, swap blocks, compile settings, etc.), in order to make the processing/training process faster.

jayson king

Is this still alive and relevant? i purchased a sub and downloaded but 'No module named 'gradio'.... Simply unzipped and ran the install and update Bat... on windows... says... nope, further issues with the install, you have locked into Python 3.10 is there a fix for this that doesn't require downgrading Py 3.12? all of a sudden this easy 1 click instal is actually a bit of a pain.

David

Got it, that makes sense. I was mainly wondering if, on a Linux + RTX 5090 setup, there was still some room for small performance gains by reducing block swap or tweaking compile behavior. But yes, I agree the biggest impact on final quality definitely comes from the dataset itself. Thanx you. Just last thing, I'm not interested in it, but I didn't find Ernie presets as you described in the update'notes.

David

Ok ok thanks, sorry for the confusion :D

Ethan

Hi, I have been trying to use your set up above to train a video lora for wan2.2 14b I2V following the set up advice on your interface. I have 81 frame vids, but even reducing it to 33 frames, and using rank 4 and alpha 4 it seems to be struggling on my RTX 5090 32Gb. I can't get it to complete the first epoch, it just appears to freeze with GPU 99% and RAM (64mb) at 90%. Can you advise am I wasting my time, have you managed to train a Wan I2V lora on a domestic graphics card or not? Thanks

Christoph Behrmann

can you add this here at image captioning? "Append to existing caption files (if not overwriting)" nice feature from JoyCaption

SECourses: FLUX, Tutorials, Guides, Resources, Training, Scripts

sorry for delay implemented 4 June 2026 V28.3 Update Since requested new feature implemented into Image Captioning When overwrite is off, append new captions to existing text files instead of skipping them Append Existing Captions Just run Windows_Install_and_Update.bat to update

Christoph Behrmann

error: uv trampoline failed to canonicalize script path 02:38:58-292300 ERROR Training failed with exit code: 1

Christoph Behrmann

a fresh installed solved the uv issue :) I did copy from c-drive to e-drive, what was the reason why - because of absolute paths...

Christoph Behrmann

with my 5090 FE I do only have at about 600 MHz GPU clock... I know it is asking for more power, but Nvidia has it limited to 575W with MSI afterburner I can use 104% as maximum, what is roughly 600W (MSI MPG carbon mainboard with x8 x8) ... with my 3090 it is faster for LoRA training... :( -- 5090 FE at 330.92s/it is pretty low

Christoph Behrmann

it is only at 10-20gb from a total of 32gb available with 5090 FE, that is why it cannot be shared VRAM... it is high idle power consumption with 160W+, monitor is on 3090...

Simon

Hi, is there any update on Flux.2 (klein) fine tuning?

A V

Window 1 click installer doesnt work. Sucks I paid for this.

David

I used to use Linux because training would freeze under Windows and it was slower anyway. Does this Torch update eliminate those freezes? Is the speed now equal to Linux?

David

Ok thank you, for now I think I will still use Linux. I will update all before a new training.

Ec Jep

I look forward to running this. Musubi is excellent with jsonl and multiple person training at once. Once I figured out training parameters the results are best realism. Thank you!

David

Ohhhhh good new! Ok ok I will wait, thank you 😬👍🏽

David

🔝🔝🔝 I will test it in these days and I will tell you how is now 😬 thank you

Ec Jep

Thanks for the updates! I followed your "Solving CUDA and C++ Tools Compiling Errors" and cleaned many items. Have you tried running quantizer with qwen 2512 model and INT8 yet? I have tried it and doesn't seem to have as good of skin quality as default qwen settings and using full SVD matrix. INT8 is incredibly fast thought.

Mazvy

Windows, Python 3.13.2, it fails to create venv folders and as a result the install fails, manually creating venv folders then requires to manually run install dependencies and it results in a nightmare to get it all working after the fact.

Mazvy

HEAD is now at eae1c4a Merge branch 'kohya-ss:main' into main Already up to date. Already on 'main' Your branch is up to date with 'origin/main'. Already up to date. Python launcher is available. Generating Python 3.12 VENV No suitable Python runtime found Pass --list (-0) to see all detected environments on your machine or set environment variable PYLAUNCHER_ALLOW_INSTALL to use winget or open the Microsoft Store to the requested version. The system cannot find the path specified. Defaulting to user installation because normal site-packages is not writeable Requirement already satisfied: pip in C:\Users\User\AppData\Roaming\Python\Python313\site-packages (26.1.2) Defaulting to user installation because normal site-packages is not writeable Requirement already satisfied: uv in C:\Users\User\AppData\Roaming\Python\Python313\site-packages (0.11.29) error: No virtual environment found; run `uv venv` to create an environment, or pass `--system` to install into a non-virtual environment error: No virtual environment found; run `uv venv` to create an environment, or pass `--system` to install into a non-virtual environment error: No virtual environment found; run `uv venv` to create an environment, or pass `--system` to install into a non-virtual environment installation completed check for errors Press any key to continue . . .

Mazvy

Want to mention that previous Musubi versions worked fine (last one I tried was when Z-Image came out)

cool1

In the latest Musubi tuner trainer (v30.2) does it need to run probe.exe every time it starts training (as it seems to be doing that)? Every time it starts training and probe.exe runs AVG antivirus spends about 40 seconds checking it to see if it's suspicious. It seems to be around the time the cmd window says: "torch.compile toolchain ready: CUDA Toolkit found at ... with OpenMP; CUDA host compiler probe passed; ninja found: G:\SECourses-Musubi-Trainer\SECourses_Musubi_Trainer\venv\Scripts\ninja.exe..." I assume it's not an actual network probe just checking for the local torch compiler. Surely if it's to do with compiling torch doesn't it only need to compile it once for the user's PC and not need to do the compiler check every time if it's already compiled?

cool1

Do you know what the issue with this is during Z-image base dreambooth training? It says in cmd window: File "G:\SECourses-Musubi-Trainer\SECourses_Musubi_Trainer\venv\lib\site-packages\transformers\optimization.py", line 920, in step p_data_fp32.add_(-update) RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu! That's with compilation option turned off as far as I know as there were issues with that (it couldn't write to it I think, maybe related to AVG scanning it).

Fernando Martin

Hi Dr. Furkan, after a clean install i keep getting this error whether i try to start a training or save a new preset File "C:\Ai\SECourses_Musubi_Trainer\SECourses_Musubi_Trainer\venv\Lib\site-packages\gradio\blocks.py", line 1781, in preprocess_data processed_input.append(block.preprocess(inputs_cached)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Ai\SECourses_Musubi_Trainer\SECourses_Musubi_Trainer\venv\Lib\site-packages\gradio\components\number.py", line 142, in preprocess self.raise_if_out_of_bounds(payload, self.minimum, self.maximum) File "C:\Ai\SECourses_Musubi_Trainer\SECourses_Musubi_Trainer\venv\Lib\site-packages\gradio\components\number.py", line 131, in raise_if_out_of_bounds raise Error(f"Value {num} is greater than maximum value {maximum}.") gradio.exceptions.Error: 'Value 10 is greater than maximum value 1.'

cool1

Thanks a lot.

man4tech

Hi, im getting this warnings/error in console: 1-WARNING:__main__:The provided DiT model /AI/AIGEN_MODELS/Bases/Qwen/Qwen_Image_Edit_2511_BF16.safetensors may not match the training mode edit 2- ERROR: Graph break from `Tensor.item()`, consider setting: W0730 10:30:39.378000 104906 venv/lib/python3.12/site-packages/torch/_dynamo/variables/tensor.py:1759] [5/0] torch._dynamo.config.capture_scalar_outputs = True W0730 10:30:39.378000 104906 venv/lib/python3.12/site-packages/torch/_dynamo/variables/tensor.py:1759] [5/0] or: W0730 10:30:39.378000 104906 venv/lib/python3.12/site-packages/torch/_dynamo/variables/tensor.py:1759] [5/0] env TORCHDYNAMO_CAPTURE_SCALAR_OUTPUTS=1 W0730 10:30:39.378000 104906 venv/lib/python3.12/site-packages/torch/_dynamo/variables/tensor.py:1759] [5/0] to include these operations in the captured graph. W0730 10:30:39.378000 104906 venv/lib/python3.12/site-packages/torch/_dynamo/variables/tensor.py:1759] [5/0] W0730 10:30:39.378000 104906 venv/lib/python3.12/site-packages/torch/_dynamo/variables/tensor.py:1759] [5/0] Graph break: from user code at: W0730 10:30:39.378000 104906 venv/lib/python3.12/site-packages/torch/_dynamo/variables/tensor.py:1759] [5/0] File "/mnt/AI/MusubiTuner/musubi-tuner/src/musubi_tuner/qwen_image/qwen_image_model.py", line 835, in torch_dynamo_resume_in_forward_at_798 W0730 10:30:39.378000 104906 venv/lib/python3.12/site-packages/torch/_dynamo/variables/tensor.py:1759] [5/0] joint_hidden_states = hunyuan_attention( W0730 10:30:39.378000 104906 venv/lib/python3.12/site-packages/torch/_dynamo/variables/tensor.py:1759] [5/0] ^^^^^^^^^^^^^^^^^^ W0730 10:30:39.378000 104906 venv/lib/python3.12/site-packages/torch/_dynamo/variables/tensor.py:1759] [5/0] File "/mnt/AI/MusubiTuner/musubi-tuner/src/musubi_tuner/hunyuan_model/attention.py", line 145, in attention W0730 10:30:39.378000 104906 venv/lib/python3.12/site-packages/torch/_dynamo/variables/tensor.py:1759] [5/0] q = [q[i : i + 1, : total_len[i]] for i in range(len(q))] W0730 10:30:39.378000 104906 venv/lib/python3.12/site-packages/torch/_dynamo/variables/tensor.py:1759] [5/0] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ However, the training seems running, Will this affect the result lora?

man4tech

Got it Thanks. Cheers

Kieran Hawk

This is great! When do you think you'll get around to optimizing Krea 2 training? (Not just demo.)

Chris

Thanks for it, great work! I used Musubi Model Quantizert to convert fp16 to MXFP8. The speed has doubled at 5080. Is there any way to convert FP8 to MXFP8? When I try, I get error messag NotImplementedError: "sum_cpu" not implemented for 'Float8_e4m3fn' . Allow detected quantized inputs is enabled.

Glen Carpenter

Just a heads up, every time I upgrade on Windows I am met with TOML errors from `toml.load` > TomlDecodeError: Reserved escape sequence used This seems to happen every time. I patch it locally but this is a persistent bug for me.

Rezkii 3D Art

Hi. I inspected SECourses_Musubi_Trainer_v32_1 instead of just relying on the marketing, and I have some serious licensing questions. Your package/downloader points users to redistributed FLUX.2 Dev and FLUX.2 Klein 9B weights. Black Forest Labs states that these models are under its non-commercial license, and commercial use requires separate authorization. Your downloader also obtains Krea 2 Raw from your own Hugging Face repository. Krea’s license explicitly requires redistribution to include the license agreement and a specific attribution notice in a Notice file. I checked the v32_1 ZIP and could not find a LICENSE, COPYING or NOTICE file covering these redistributed components. So my questions are simple: 1. Do you have a commercial license from Black Forest Labs for distributing/using FLUX.2 Dev and Klein 9B as part of a paid Patreon product? 2. If yes, can you clarify why the required licensing/attribution information is not included with the distributed package? 3. How are you complying with Krea 2’s redistribution requirements when the required Krea license and Notice attribution are absent from the ZIP? I’m not asking about how many GPUs you used or how many experiments you ran. I’m asking about the licenses for software/model components being distributed as part of a paid product. If I misunderstood something, please explain it clearly and point to the relevant licenses/permissions.

Tyler

No Ostris'AiToolkit Update for lora training Krea2?

Simon

Got the following error when trying to fine-tune klein-base-9B using the default config from v32_1/Demo_Training_Configs. Tuner creates a .toml in output folder with 'vae_dtype = ""'. This resulted in: Text encoder output caching completed successfully. Starting training... accelerator device: cuda Traceback (most recent call last): File "/workspace/SECourses_Musubi_Trainer/musubi-tuner/src/musubi_tuner/flux_2_train.py", line 54, in main() File "/workspace/SECourses_Musubi_Trainer/musubi-tuner/src/musubi_tuner/flux_2_train.py", line 50, in main trainer.train(args) File "/workspace/SECourses_Musubi_Trainer/musubi-tuner/src/musubi_tuner/training/full_finetune.py", line 684, in train vae_dtype = torch.float16 if args.vae_dtype is None else model_utils.str_to_dtype(args.vae_dtype) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/workspace/SECourses_Musubi_Trainer/musubi-tuner/src/musubi_tuner/utils/model_utils.py", line 163, in str_to_dtype raise ValueError(f"Unsupported dtype: {s}") ValueError: Unsupported dtype: Traceback (most recent call last): File "/workspace/SECourses_Musubi_Trainer/venv/bin/accelerate", line 10, in sys.exit(main()) ^^^^^^ File "/workspace/SECourses_Musubi_Trainer/venv/lib/python3.12/site-packages/accelerate/commands/accelerate_cli.py", line 50, in main args.func(args) File "/workspace/SECourses_Musubi_Trainer/venv/lib/python3.12/site-packages/accelerate/commands/launch.py", line 1407, in launch_command simple_launcher(args) File "/workspace/SECourses_Musubi_Trainer/venv/lib/python3.12/site-packages/accelerate/commands/launch.py", line 993, in simple_launcher raise subprocess.CalledProcessError(returncode=process.returncode, cmd=cmd) subprocess.CalledProcessError: Command '['/workspace/SECourses_Musubi_Trainer/venv/bin/python3', '/workspace/SECourses_Musubi_Trainer/musubi-tuner/src/musubi_tuner/flux_2_train.py', '--config_file', '/workspace/output/My_FLUX_Klein_9B_Full_DiT_20260813-174600.toml']' returned non-zero exit status 1. What did I do wrong?

Simon

Works, when I set vae_dtype manually in web GUI. But the vae_dtype field is marked "optional" and kept empty after loading default config.

Simon

Second issue: After loading the FLUX_Klein_9B_Fine_Tuning_Demo.toml in FLUX training tab, following error occurs: Loaded configuration: FLUX_Klein_9B_Fine_Tuning_Demo.toml Traceback (most recent call last): File "/workspace/SECourses_Musubi_Trainer/venv/lib/python3.12/site-packages/gradio/queueing.py", line 870, in process_events response = await route_utils.call_process_api( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/workspace/SECourses_Musubi_Trainer/venv/lib/python3.12/site-packages/gradio/route_utils.py", line 408, in call_process_api output = await app.get_blocks().process_api( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/workspace/SECourses_Musubi_Trainer/venv/lib/python3.12/site-packages/gradio/blocks.py", line 2310, in process_api inputs = await self.preprocess_data( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/workspace/SECourses_Musubi_Trainer/venv/lib/python3.12/site-packages/gradio/blocks.py", line 1901, in preprocess_data processed_value = await anyio.to_thread.run_sync( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/workspace/SECourses_Musubi_Trainer/venv/lib/python3.12/site-packages/anyio/to_thread.py", line 65, in run_sync return await get_async_backend().run_sync_in_worker_thread( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/workspace/SECourses_Musubi_Trainer/venv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 2641, in run_sync_in_worker_thread return await future ^^^^^^^^^^^^ File "/workspace/SECourses_Musubi_Trainer/venv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 1033, in run result = context.run(func, *args) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/workspace/SECourses_Musubi_Trainer/venv/lib/python3.12/site-packages/gradio/components/dropdown.py", line 211, in preprocess raise Error( gradio.exceptions.Error: "Value: dev is not in the list of choices: ['klein-4b', 'klein-base-4b', 'klein-9b', 'klein-base-9b']" Is this an issue?

Simon

Another one 😅: It seems that network_module is not saved to the .toml in the output directory. -> If I try to repeat a failed fine-tuning training by loading the created toml from previous run, it will do a lora training, as network_module is not set

mathieu

Amazing tutorial, brilliant as always! Questions about dataset preparation: in your perfume dataset, some images have white bars on the sides to make them square. Is there a reason you don't use aspect ratio bucketing instead? Isn't there a risk that the bars get learned as part of the concept? When the source images are not square, is the padding (white bars) really better than bucketing in your experience? Thanks!

mathieu

Thanks! Makes sense. And at batch size 1, does bucket population still matter?

arquinovatos

hello, where can I find a z-Image turbo configuration for 24 or 32 gb of VRAM? I know you have the tutorial about ai ostris but I'd rather train on musubi, I feel it's faster and more professional

Bob Thon

Thanks for this excellent tool Dr! Any chance an update will come for Qwen 2.1?

Morozz

Any plans to support Qwen Image 2.1? It crashes at caching. Something to do with size mismatch..