File size: 2,299 Bytes
2847d0b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/env bash
set -euo pipefail

ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
GPU_IDS="${GPU_IDS:-0,1,2,3,4,5,6,7}"
PRED_ONLY_OUTPUT="${PRED_ONLY_OUTPUT:-/mnt/local_nvme/zoubin/cz/self_forcing_predictor_v4_dmd_predictor_only}"
JOINT_OUTPUT="${JOINT_OUTPUT:-/mnt/local_nvme/zoubin/cz/self_forcing_predictor_v4_dmd_joint}"
ORIGINAL_FULL="$ROOT_DIR/checkpoints/self_forcing_dmd.pt"
ORIGINAL_VALIDATION_FFFF="$ROOT_DIR/videos/moviegenvideobench_extended_101_200_dmd_seed0"
PRED_ONLY_PROJECT="$ROOT_DIR/checkpoints/predictor_v4_dmd_predictor_only"
JOINT_PROJECT="$ROOT_DIR/checkpoints/predictor_v4_dmd_joint"

cd "$ROOT_DIR"
exec 9>"$ROOT_DIR/evaluation_results/predictor_v4_dmd_suite.lock"
if ! flock -n 9; then
  echo "错误:已有 Predictor-v4 DMD suite 正在运行。" >&2
  exit 1
fi

GPU_IDS="$GPU_IDS" \
CONFIG_PATH="$ROOT_DIR/configs/predictor_v4_dmd_predictor_only.yaml" \
OUTPUT_DIR="$PRED_ONLY_OUTPUT" \
MASTER_PORT=29741 \
bash scripts/run_predictor_v4_dmd_training.sh

mkdir -p "$PRED_ONLY_PROJECT"
rsync -a \
  "$PRED_ONLY_OUTPUT/checkpoint_final/" \
  "$PRED_ONLY_PROJECT/checkpoint_final/"
rsync -a \
  "$PRED_ONLY_OUTPUT/train_config.json" \
  "$PRED_ONLY_OUTPUT/train_log.jsonl" \
  "$PRED_ONLY_PROJECT/"

GPU_IDS="$GPU_IDS" \
EXPERIMENT_NAME=predictor_v4_dmd_predictor_only \
FULL_CHECKPOINT="$ORIGINAL_FULL" \
PREDICTOR_CHECKPOINT="$PRED_ONLY_OUTPUT/checkpoint_final/predictor_ema.safetensors" \
INCLUDE_FFFF=0 \
REFERENCE_FFFF="$ORIGINAL_VALIDATION_FFFF" \
bash scripts/run_predictor_v4_dmd_validation.sh

GPU_IDS="$GPU_IDS" \
CONFIG_PATH="$ROOT_DIR/configs/predictor_v4_dmd_joint.yaml" \
OUTPUT_DIR="$JOINT_OUTPUT" \
MASTER_PORT=29742 \
bash scripts/run_predictor_v4_dmd_training.sh

mkdir -p "$JOINT_PROJECT"
rsync -a \
  "$JOINT_OUTPUT/checkpoint_final/" \
  "$JOINT_PROJECT/checkpoint_final/"
rsync -a \
  "$JOINT_OUTPUT/train_config.json" \
  "$JOINT_OUTPUT/train_log.jsonl" \
  "$JOINT_PROJECT/"

GPU_IDS="$GPU_IDS" \
EXPERIMENT_NAME=predictor_v4_dmd_joint \
FULL_CHECKPOINT="$JOINT_OUTPUT/checkpoint_final/model.pt" \
PREDICTOR_CHECKPOINT="$JOINT_OUTPUT/checkpoint_final/predictor_ema.safetensors" \
INCLUDE_FFFF=1 \
bash scripts/run_predictor_v4_dmd_validation.sh

echo "[$(date -u +%FT%TZ)] Predictor-only 与 Joint DMD 训练评估全部完成。"