mirror of
				https://github.com/Wan-Video/Wan2.1.git
				synced 2025-11-04 06:15:17 +00:00 
			
		
		
		
	* Add VACE * Support training with multiple gpus * Update default args for vace task * vace block update * Add vace exmaple jpg * Fix dist vace fwd hook error * Update vace exmample * Update vace args * Update pipeline name for vace * vace gradio and Readme * Update vace snake png --------- Co-authored-by: hanzhn <han.feng.jason@gmail.com>
		
			
				
	
	
		
			121 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			121 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
 | 
						|
if [ "$#" -eq 2 ]; then
 | 
						|
  MODEL_DIR=$(realpath "$1")
 | 
						|
  GPUS=$2
 | 
						|
else
 | 
						|
  echo "Usage: $0 <local model dir> <gpu number>"
 | 
						|
  exit 1
 | 
						|
fi
 | 
						|
 | 
						|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
 | 
						|
REPO_ROOT="$(dirname "$SCRIPT_DIR")"
 | 
						|
cd "$REPO_ROOT" || exit 1
 | 
						|
 | 
						|
PY_FILE=./generate.py
 | 
						|
 | 
						|
 | 
						|
function t2v_1_3B() {
 | 
						|
    T2V_1_3B_CKPT_DIR="$MODEL_DIR/Wan2.1-T2V-1.3B"
 | 
						|
 | 
						|
    # 1-GPU Test
 | 
						|
    echo -e "\n\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> t2v_1_3B 1-GPU Test: "
 | 
						|
    python $PY_FILE --task t2v-1.3B --size 480*832 --ckpt_dir $T2V_1_3B_CKPT_DIR
 | 
						|
 | 
						|
    # Multiple GPU Test
 | 
						|
    echo -e "\n\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> t2v_1_3B Multiple GPU Test: "
 | 
						|
    torchrun --nproc_per_node=$GPUS $PY_FILE --task t2v-1.3B --ckpt_dir $T2V_1_3B_CKPT_DIR --size 832*480 --dit_fsdp --t5_fsdp --ulysses_size $GPUS
 | 
						|
 | 
						|
    echo -e "\n\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> t2v_1_3B Multiple GPU, prompt extend local_qwen: "
 | 
						|
    torchrun --nproc_per_node=$GPUS $PY_FILE --task t2v-1.3B --ckpt_dir $T2V_1_3B_CKPT_DIR --size 832*480 --dit_fsdp --t5_fsdp --ulysses_size $GPUS --use_prompt_extend --prompt_extend_model "Qwen/Qwen2.5-3B-Instruct" --prompt_extend_target_lang "en"
 | 
						|
 | 
						|
    if [ -n "${DASH_API_KEY+x}" ]; then
 | 
						|
        echo -e "\n\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> t2v_1_3B Multiple GPU, prompt extend dashscope: "
 | 
						|
        torchrun --nproc_per_node=$GPUS $PY_FILE --task t2v-1.3B --ckpt_dir $T2V_1_3B_CKPT_DIR --size 832*480 --dit_fsdp --t5_fsdp --ulysses_size $GPUS --use_prompt_extend --prompt_extend_method "dashscope"
 | 
						|
    else
 | 
						|
        echo -e "\n\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> No DASH_API_KEY found, skip the dashscope extend test."
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
function t2v_14B() {
 | 
						|
    T2V_14B_CKPT_DIR="$MODEL_DIR/Wan2.1-T2V-14B"
 | 
						|
 | 
						|
    # 1-GPU Test
 | 
						|
    echo -e "\n\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> t2v_14B 1-GPU Test: "
 | 
						|
    python $PY_FILE --task t2v-14B --size 480*832 --ckpt_dir $T2V_14B_CKPT_DIR
 | 
						|
 | 
						|
    # Multiple GPU Test
 | 
						|
    echo -e "\n\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> t2v_14B Multiple GPU Test: "
 | 
						|
    torchrun --nproc_per_node=$GPUS $PY_FILE --task t2v-14B --ckpt_dir $T2V_14B_CKPT_DIR --size 832*480 --dit_fsdp --t5_fsdp --ulysses_size $GPUS
 | 
						|
 | 
						|
    echo -e "\n\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> t2v_14B Multiple GPU, prompt extend local_qwen: "
 | 
						|
    torchrun --nproc_per_node=$GPUS $PY_FILE --task t2v-14B --ckpt_dir $T2V_14B_CKPT_DIR --size 832*480 --dit_fsdp --t5_fsdp --ulysses_size $GPUS --use_prompt_extend --prompt_extend_model "Qwen/Qwen2.5-3B-Instruct" --prompt_extend_target_lang "en"
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
 | 
						|
function t2i_14B() {
 | 
						|
    T2V_14B_CKPT_DIR="$MODEL_DIR/Wan2.1-T2V-14B"
 | 
						|
 | 
						|
    # 1-GPU Test
 | 
						|
    echo -e "\n\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> t2i_14B 1-GPU Test: "
 | 
						|
    python $PY_FILE --task t2i-14B --size 480*832 --ckpt_dir $T2V_14B_CKPT_DIR
 | 
						|
 | 
						|
    # Multiple GPU Test
 | 
						|
    echo -e "\n\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> t2i_14B Multiple GPU Test: "
 | 
						|
    torchrun --nproc_per_node=$GPUS $PY_FILE --task t2i-14B --ckpt_dir $T2V_14B_CKPT_DIR --size 832*480 --dit_fsdp --t5_fsdp --ulysses_size $GPUS
 | 
						|
 | 
						|
    echo -e "\n\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> t2i_14B Multiple GPU, prompt extend local_qwen: "
 | 
						|
    torchrun --nproc_per_node=$GPUS $PY_FILE --task t2i-14B --ckpt_dir $T2V_14B_CKPT_DIR --size 832*480 --dit_fsdp --t5_fsdp --ulysses_size $GPUS --use_prompt_extend --prompt_extend_model "Qwen/Qwen2.5-3B-Instruct" --prompt_extend_target_lang "en"
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
function i2v_14B_480p() {
 | 
						|
    I2V_14B_CKPT_DIR="$MODEL_DIR/Wan2.1-I2V-14B-480P"
 | 
						|
 | 
						|
    echo -e "\n\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> i2v_14B 1-GPU Test: "
 | 
						|
    python $PY_FILE --task i2v-14B --size 832*480 --ckpt_dir $I2V_14B_CKPT_DIR
 | 
						|
 | 
						|
    # Multiple GPU Test
 | 
						|
    echo -e "\n\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> i2v_14B Multiple GPU Test: "
 | 
						|
    torchrun --nproc_per_node=$GPUS $PY_FILE --task i2v-14B --ckpt_dir $I2V_14B_CKPT_DIR --size 832*480 --dit_fsdp --t5_fsdp --ulysses_size $GPUS
 | 
						|
 | 
						|
    echo -e "\n\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> i2v_14B Multiple GPU, prompt extend local_qwen: "
 | 
						|
    torchrun --nproc_per_node=$GPUS $PY_FILE --task i2v-14B --ckpt_dir $I2V_14B_CKPT_DIR --size 832*480 --dit_fsdp --t5_fsdp --ulysses_size $GPUS --use_prompt_extend --prompt_extend_model "Qwen/Qwen2.5-VL-3B-Instruct" --prompt_extend_target_lang "en"
 | 
						|
 | 
						|
    if [ -n "${DASH_API_KEY+x}" ]; then
 | 
						|
        echo -e "\n\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> i2v_14B Multiple GPU, prompt extend dashscope: "
 | 
						|
        torchrun --nproc_per_node=$GPUS $PY_FILE --task i2v-14B --ckpt_dir $I2V_14B_CKPT_DIR --size 832*480 --dit_fsdp --t5_fsdp --ulysses_size $GPUS --use_prompt_extend --prompt_extend_method "dashscope"
 | 
						|
    else
 | 
						|
        echo -e "\n\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> No DASH_API_KEY found, skip the dashscope extend test."
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
function i2v_14B_720p() {
 | 
						|
    I2V_14B_CKPT_DIR="$MODEL_DIR/Wan2.1-I2V-14B-720P"
 | 
						|
 | 
						|
    # 1-GPU Test
 | 
						|
    echo -e "\n\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> i2v_14B 1-GPU Test: "
 | 
						|
    python $PY_FILE --task i2v-14B --size 720*1280 --ckpt_dir $I2V_14B_CKPT_DIR
 | 
						|
 | 
						|
    # Multiple GPU Test
 | 
						|
    echo -e "\n\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> i2v_14B Multiple GPU Test: "
 | 
						|
    torchrun --nproc_per_node=$GPUS $PY_FILE --task i2v-14B --ckpt_dir $I2V_14B_CKPT_DIR --size 720*1280 --dit_fsdp --t5_fsdp --ulysses_size $GPUS
 | 
						|
}
 | 
						|
 | 
						|
function vace_1_3B() {
 | 
						|
    VACE_1_3B_CKPT_DIR="$MODEL_DIR/VACE-Wan2.1-1.3B-Preview/"
 | 
						|
    torchrun --nproc_per_node=$GPUS $PY_FILE --ulysses_size $GPUS --task vace-1.3B --size 480*832 --ckpt_dir $VACE_1_3B_CKPT_DIR
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
t2i_14B
 | 
						|
t2v_1_3B
 | 
						|
t2v_14B
 | 
						|
i2v_14B_480p
 | 
						|
i2v_14B_720p
 | 
						|
vace_1_3B
 |