โ ๏ธ In Actieve Ontwikkeling
Deze setup is nog experimenteel.
Gebruik het als inspiratie voor WAN-gebaseerde videogeneratie (T2V/I2V/V2V/S2V) in plaats van een kant-en-klare handleiding.
Bestel een GPU-server voor WAN Video
Maak een schone Python-omgeving aan met Conda (aanbevolen) of venv:
# 1) Conda / Virtual Environment
conda create -n wan22 python=3.10 -y
conda activate wan22
# 2) Install PyTorch (CUDA 12.x Build)
pip install --upgrade torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
pip install xformers accelerate transformers datasets peft bitsandbytes==0.43.3 safetensors einops
pip install opencv-python pillow tqdm
# 3) Clone Trainer
git clone https://github.com/Wan-Video/DiffSynth-Studio.git
cd DiffSynth-Studio
pip install -r requirements.txt || true
cd ..
๐ก Tip: Op NVIDIA A100 GPU's, altijd gebruiken BF16 precisie voor stabiele en efficiรซnte training.
Plaats uw WAN 2.2 modelgewichten (afhankelijk van je taak: T2V, I2V, V2V, S2V) samen met VAE en tekst encoder bestanden in de verwachte mappen van de trainer plaatsen โ of handmatig via --model_name_or_path.
Voorbeelden:
--model_name_or_path Wan-AI/Wan2.2-T2V-A14B # Text-to-Video
--model_name_or_path Wan-AI/Wan2.2-I2V-A14B # Image-to-Video
WAN verwacht een JSONL-dataset bestand met รฉรฉn vermelding per videoclip.
{"video": "/data/myset/clip_0001.mp4", "prompt": "a cozy coffee shop scene at golden hour", "fps": 24, "seconds": 4, "resolution": "1280x720"}
{"video": "/data/myset/clip_0002.mp4", "prompt": "rainy neon city street, cinematic", "fps": 24, "seconds": 4, "resolution": "1280x720"}
๐ Notities:
Voor Tekst-naar-Video (T2V)je kunt verwijzingen naar stills, frames of een dummy-video gebruiken. prompt en doel specificaties (fps, seconds, resolutionzijn vereist.
Sla uw datasets op als:
/data/wan22/train.jsonl/data/wan22/val.jsonlaccelerate ConfiguratieInitialiseer รฉรฉn keer:
accelerate config default
Of definieer handmatig in
~/.cache/huggingface/accelerate/default_config.yaml:
compute_environment: LOCAL_MACHINE
distributed_type: NO
mixed_precision: bf16
num_processes: 1
gpu_ids: "0"
dynamo_backend: NO
๐ Voor multi-GPU training, stel in:
distributed_type: MULTI_GPU
conda activate wan22
cd DiffSynth-Studio
accelerate launch \
train_wan_lora.py \
--model_name_or_path "Wan-AI/Wan2.2-T2V-A14B" \
--output_dir /data/wan22_lora_out \
--dataset_json /data/wan22/train.jsonl \
--resolution 720 --fps 24 --clip_seconds 4 \
--train_batch_size 1 \
--gradient_accumulation_steps 8 \
--max_train_steps 20000 \
--learning_rate 1e-4 --warmup_steps 500 \
--lora_rank 64 --lora_alpha 64 \
--use_bf16 --enable_xformers --gradient_checkpointing \
--checkpointing_steps 1000 \
--validation_json /data/wan22/val.jsonl --validation_steps 2000
Wijzig alleen het model:
--model_name_or_path "Wan-AI/Wan2.2-I2V-A14B"
| Situatie | Aanbevolen aanpassing |
|---|---|
| Voldoende VRAM | Verhogen --train_batch_size naar 2 of gebruik --lora_rank 96โ128 |
| Beperkt VRAM | Verhogen --gradient_accumulation_steps to 12โ16 |
| Karakter/Stijl LoRA's | 6kโ12k stappen, rang 32โ64 |
| Precisie | Geef altijd de voorkeur aan BF16 boven FP16 |
| Optimalisatie | Inschakelen --gradient_checkpointing + --enable_xformers |
accelerate launch train_wan_lora.py \
... (same parameters) \
--resume_from_checkpoint "/data/wan22_lora_out/checkpoint-10000"
De meeste WAN-workflows (CLI, ComfyUI, etc.) ondersteunen het direct laden van LoRA-adapters.
python infer_wan.py \
--model_name_or_path "Wan-AI/Wan2.2-T2V-A14B" \
--lora_path "/data/wan22_lora_out" \
--prompt "cozy coffee shop at golden hour, bokeh" \
--negative_prompt "distorted faces, artifacts" \
--resolution 720 --fps 24 --seconds 4 \
--output /data/wan22/samples/test001.mp4 \
--use_bf16 --enable_xformers
๐ก ComfyUI: Gebruik de WAN Loader โ voeg LoRA's toe โ render je testvideo's.
Maak gebruik van meerdere GPU's (bijv. 2ร A100 40GB) voor snellere fine-tuning.
accelerate config # set distributed_type=MULTI_GPU, num_processes=2
accelerate launch \
--multi_gpu \
train_wan_lora.py \
... (same parameters) \
--train_batch_size 1 --gradient_accumulation_steps 8
Voor setups met 4+ GPU's, schakel --seq_parallel indien ondersteund โ vermindert de VRAM-belasting aanzienlijk.
| Type | LR | Rang | Alpha | Stappen | Batch | Grad Accum | Notities |
|---|---|---|---|---|---|---|---|
| Algemeen | 1e-4 | 64 | 64 | 10kโ20k | 1 | 8โ12 | Gebalanceerde basislijn |
| Karakter | 1e-4 | 64โ128 | 64 | 8kโ12k | 1 | 8 | Ideaal voor korte clips van 2โ4 seconden |
| Stijl | 1e-4 | 32โ64 | 64 | 6kโ10k | 1 | 8โ12 | Breder stilistisch bereik |
| Evaluatie | โ | โ | โ | elke 1โ2k | โ | โ | Test 2โ4 vast + 2 echte prompts |
WAN LoRA training maakt mogelijk:
Aanbevolen configuratie:
Environment โ Model Setup โ Dataset Prep โ LoRA Fine-tune โ Inference
๐ฅ Train slimmer. Genereer sneller. WAN sterker.