File size: 5,305 Bytes
23e73f9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#!/bin/bash

# 初始化 Conda 环境路径
source /root/miniconda3/etc/profile.d/conda.sh

# 确保主路径在 PYTHONPATH 中
export PYTHONPATH=$PYTHONPATH:/root/autodl-tmp/SplatAtlas

# 定义错误日志路径
ERROR_LOG="/root/autodl-tmp/SplatAtlas/run_errors.log"

# 每次运行前,在错误日志里画个分割线
echo "================================================================" >> "$ERROR_LOG"
echo "🚀 New Run Started at $(date)" >> "$ERROR_LOG"
echo "================================================================" >> "$ERROR_LOG"

# 定义任务队列:(环境绝对路径 脚本相对路径)
declare -a tasks=(
    # --- 一、 Initialization (2) ---
    "base scripts/run_vanilla_benchmark.py"
    "/root/autodl-tmp/envs/3dgs_mcmc scripts/run_3dgsmcmc_benchmark.py"

#     --- 二、 Attribute Expansion (10) ---
    "/root/autodl-tmp/envs/2dgs_v2 scripts/run_2dgs_benchmark.py"
    "/root/autodl-tmp/envs/pgsr scripts/run_pgsr_benchmark.py"
    "/root/autodl-tmp/envs/ges scripts/run_ges_benchmark.py"
    "/root/autodl-tmp/envs/scaffold_gs scripts/run_scaffoldgs_benchmark.py"
    "/root/autodl-tmp/envs/r3dg scripts/run_r3dg_benchmark.py"
    "/root/autodl-tmp/envs/3dgrut scripts/run_3dgut_benchmark.py"
    "/root/autodl-tmp/envs/hogs scripts/run_hogs_benchmark.py"
     "/root/autodl-tmp/envs/texture_gs scripts/run_texturegs_benchmark.py"
    "/root/autodl-tmp/envs/textured_gs scripts/run_texturedgs_benchmark.py"
    "/root/autodl-tmp/envs/gaussian_surfels scripts/run_surfel_benchmark.py"

    # --- 三、 Rendering & Rasterization (5) ---
    "/root/autodl-tmp/envs/mip-splatting scripts/run_mipsplatting_benchmark.py"
    "/root/autodl-tmp/envs/ana_splatting scripts/run_analyticsplatting_benchmark.py"
    "/root/autodl-tmp/envs/3dgs_dr scripts/run_3dgs_dr_benchmark.py"
    "/root/autodl-tmp/envs/lod_gs scripts/run_lod_gs_benchmark.py"
    "/root/autodl-tmp/envs/octree_gs scripts/run_octree_gs_benchmark.py"

    # --- 四、 Regularization (9) ---
    "/root/autodl-tmp/env scripts/run_sugar_benchmark.py"
    "/root/autodl-tmp/envs/gof scripts/run_gof_benchmark.py"
    "/root/autodl-tmp/envs/gsdf scripts/run_gsdf_benchmark.py"
    "/root/autodl-tmp/envs/erank_gs scripts/run_erankgs_benchmark.py"
    "/root/autodl-tmp/envs/trimgs scripts/run_trimgs_benchmark.py"
    "/root/autodl-tmp/envs/gaussianpro scripts/run_gaussianpro_benchmark.py"
    "/root/autodl-tmp/envs/gspull scripts/run_gspull_benchmark.py"
    "/root/autodl-tmp/envs/lapis_gs scripts/run_lapisgs_benchmark.py"


    # --- 五、 Training Strategy (2) ---
    "/root/autodl-tmp/envs/opti3dgs scripts/run_opti3dgs_benchmark.py"
    "/root/autodl-tmp/envs/co_adaptation_3dgs scripts/run_coadaptgs_benchmark.py"

    # --- 六、 Adaptive Control (10) ---
    "/root/autodl-tmp/envs/absgs_env scripts/run_absgs_benchmark.py"
    "/root/autodl-tmp/envs/pixelgs scripts/run_pixelgs_benchmark.py"
    "/root/autodl-tmp/envs/mini_splatting scripts/run_minisplatting_benchmark.py"
    "/root/autodl-tmp/envs/taming_3dgs scripts/run_tamgs_benchmark.py"
    "/root/autodl-tmp/envs/atomgs scripts/run_atomgs_benchmark.py"
    "/root/autodl-tmp/envs/reactgs_env scripts/run_reactgs_benchmark.py"
    "/root/autodl-tmp/envs/gs_lpm scripts/run_gslpm.py"
    "/root/autodl-tmp/envs/conegs_env scripts/run_conegs_benchmark.py"
    "/root/autodl-tmp/envs/steepgs_env scripts/run_steepgs.py"

    # --- 七、 Post-Processing (4) ---
    "/root/autodl-tmp/envs/eagles scripts/run_eagles_benchmark.py"
    "/root/autodl-tmp/envs/rdo-gaussian scripts/run_rdogaussian_benchmark.py"
    "/root/autodl-tmp/envs/ghap_env scripts/run_ghap_benchmark.py"
    "/root/autodl-tmp/envs/hac_plus scripts/run_hac_plus_benchmark.py"
    "/root/autodl-tmp/envs/lightgaussian_official scripts/run_lightgaussian_benchmark.py"
 )

echo "🚀 SplatAtlas: Starting Robust Optimization Pipeline (42 Methods)..."
echo "📝 Errors will be logged to: $ERROR_LOG"

for task in "${tasks[@]}"; do
    # 解析环境路径和脚本
    read -r env_path script_path <<< "$task"
    method_name=$(basename "$script_path")
    
    echo "----------------------------------------------------------------"
    echo "🔄 Method: $method_name"
    
    # 1. 激活环境
    conda activate "$env_path"
    
    if [ $? -eq 0 ]; then
        # 2. 环境自动体检
        echo "🛠️ Checking requirements in $env_path..."
        pip install lpips imageio scikit-image -q
        
        # 3. 执行 Benchmark,stderr 同时打印到终端并写入日志
        echo "✅ Environment ready. Executing..."
        
        "$CONDA_PREFIX/bin/python" "/root/autodl-tmp/SplatAtlas/$script_path" 2> >(tee -a "$ERROR_LOG" >&2)
        
        if [ $? -eq 0 ]; then
            echo "✨ Finished: $method_name"
        else
            echo "❌ Error: $method_name failed. Saved to $ERROR_LOG"
            echo "[$(date)] FAILED: $method_name" >> "$ERROR_LOG"
        fi
    else
        echo "❌ Failed to activate: $env_path"
        echo "[$(date)] FAILED (Env Activation): $env_path for $method_name" >> "$ERROR_LOG"
    fi
    
    # 释放当前环境
    conda deactivate
done

echo "================================================================"
echo "🏁 Optimization Pipeline completed. Check $ERROR_LOG for crash reports."