Cccccz's picture
Add files using upload-large-folder tool
b34c6c3 verified
Raw History Blame Contribute Delete
2.78 kB
#!/bin/bash
export TMPDIR="/tmp"
# ==================== Environment variable setup ====================
export PAD_HQ=1
export PAD_DURATION=1
export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
export OFFLOAD_T5_CACHE=true
export OFFLOAD_VAE_CACHE=true
export TORCH_CUDA_ARCH_LIST="8.9;9.0"
# ==================== Centralized configuration ====================
# ---------- Hardware and environment config ----------
DEVICES="0,1,2,3"
CONFIG_FILE="config/sample/vbench.json"
MOTIONCACHE_CONFIG="addconfig/config.yaml"
# ---------- Basic inference config ----------
BENCHMARK="vbench"
REUSE_STRATEGY="chunkwise"
# ---------- Path configuration ----------
PROMPT_FILE_PATH="/path/to/VBench/prompts/prompts_per_dimension"
BASE_SAVE_PATH="/path/to/output/motioncache_vbench"
# ---------- Test dimension configuration ----------
DIMENSIONS=(
"subject_consistency" "object_class" "multiple_objects" "color" "spatial_relationship" "scene" "temporal_style" "overall_consistency" "human_action" "temporal_flickering" "appearance_style"
)
# ==================== End of configuration ====================
# ==================== Initialization ====================
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
MAGI_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
cd "$MAGI_ROOT"
export PYTHONPATH="$MAGI_ROOT:$PYTHONPATH"
export MAGI_ROOT="$MAGI_ROOT"
mkdir -p "$BASE_SAVE_PATH"
LOG_DIR_PATH="$BASE_SAVE_PATH/log"
mkdir -p "$LOG_DIR_PATH"
LOG_FILE="$LOG_DIR_PATH/motioncache_$(date +%Y%m%d_%H%M%S).log"
exec > >(tee -a "$LOG_FILE") 2>&1
# =====================================
echo "Starting MotionCache VBench sampling"
echo "GPUs: $DEVICES"
echo "Config: $CONFIG_FILE"
echo "MotionCache config: $MOTIONCACHE_CONFIG"
echo "Prompt dir: $PROMPT_FILE_PATH"
echo "Total dimensions: ${#DIMENSIONS[@]}"
echo "Dimensions: ${DIMENSIONS[*]}"
# ==================== Loop through dimensions ====================
for DIMENSION in "${DIMENSIONS[@]}"; do
VIDEO_SAVE_PATH="$BASE_SAVE_PATH/videos/${DIMENSION}"
mkdir -p "$VIDEO_SAVE_PATH"
echo "Processing dimension: $DIMENSION"
echo "Output path: $VIDEO_SAVE_PATH"
ARGS=(
--benchmark "$BENCHMARK"
--dimension "$DIMENSION"
--vbench_prompt_dir "$PROMPT_FILE_PATH"
--save_path "$VIDEO_SAVE_PATH"
--config_file "$CONFIG_FILE"
--additional_config "$MOTIONCACHE_CONFIG"
--gpus "$DEVICES"
--reuse_strategy "$REUSE_STRATEGY"
)
python sample_video.py "${ARGS[@]}"
if [ $? -eq 0 ]; then
echo "Completed: $DIMENSION"
else
echo "Failed: $DIMENSION"
echo "Script paused due to error. Fix the issue and rerun."
exit 1
fi
echo "---"
done
echo "All MotionCache VBench sampling tasks completed."