Download repos/MotionCache/MotionCache4MAGI-1/scripts/motioncache.sh from Cccccz/comparison: direct link, hf CLI and curl.
- Browser
- Download file 2.78 kB
-
https://huggingface.co/Cccccz/comparison/resolve/main/repos/MotionCache/MotionCache4MAGI-1/scripts/motioncache.sh
- Command line
-
hf download hf://Cccccz/comparison/repos/MotionCache/MotionCache4MAGI-1/scripts/motioncache.sh
-
curl -L -o motioncache.sh https://huggingface.co/Cccccz/comparison/resolve/main/repos/MotionCache/MotionCache4MAGI-1/scripts/motioncache.sh
2.78 kB
| 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." | |