| #!/bin/bash |
| |
| |
|
|
| source /root/miniconda3/etc/profile.d/conda.sh |
| export PYTHONPATH=$PYTHONPATH:/root/autodl-tmp/SplatAtlas |
|
|
| ERROR_LOG="/root/autodl-tmp/SplatAtlas/run_errors.log" |
| STATUS_LOG="/root/autodl-tmp/SplatAtlas/run_status.log" |
|
|
| echo "================================================================" | tee -a "$ERROR_LOG" "$STATUS_LOG" |
| echo "17-method run started at $(date)" | tee -a "$ERROR_LOG" "$STATUS_LOG" |
| echo "================================================================" | tee -a "$ERROR_LOG" "$STATUS_LOG" |
|
|
| |
| |
| |
| |
| echo "[pre-flight] checking lp_3dgs torch..." |
| if ! /root/autodl-tmp/envs/lp_3dgs/bin/python -c "import torch" 2>/dev/null; then |
| echo "[pre-flight] lp_3dgs missing torch, installing torch==2.1.2+cu118..." |
| conda activate /root/autodl-tmp/envs/lp_3dgs |
| pip install torch==2.1.2 torchvision torchaudio \ |
| --index-url https://download.pytorch.org/whl/cu118 -q |
| if /root/autodl-tmp/envs/lp_3dgs/bin/python -c "import torch; assert torch.cuda.is_available()" 2>/dev/null; then |
| echo "[pre-flight] lp_3dgs torch OK" |
| else |
| echo "[pre-flight] lp_3dgs torch install FAILED — will skip lp_3dgs in queue" \ |
| | tee -a "$ERROR_LOG" |
| SKIP_LP3DGS=1 |
| fi |
| conda deactivate |
| fi |
|
|
| |
| |
| |
| |
| declare -a tasks=( |
| |
| "/root/autodl-tmp/envs/gigs scripts/run_gigs_benchmark.py" |
| "/root/autodl-tmp/envs/sort_free_gs scripts/run_sortfreegs_benchmark.py" |
| "/root/autodl-tmp/envs/analytic_splatting scripts/run_analyticsplatting_benchmark.py" |
| "/root/autodl-tmp/envs/ngs scripts/run_ngs_benchmark.py" |
| "/root/autodl-tmp/envs/aaa_gaussians scripts/run_aaags_benchmark.py" |
| "/root/autodl-tmp/envs/improving_adc scripts/run_improvingadc_benchmark.py" |
| "/root/autodl-tmp/envs/compact3dgs scripts/run_compact3dgs_benchmark.py" |
| "/root/autodl-tmp/envs/sogs scripts/run_sogs_benchmark.py" |
|
|
| |
| "/root/autodl-tmp/envs/cdc_gs scripts/run_cdcgs_benchmark.py" |
| "/root/autodl-tmp/envs/op43dgs scripts/run_op43dgs_benchmark.py" |
| "/root/autodl-tmp/envs/bags scripts/run_bags_benchmark.py" |
| "/root/autodl-tmp/envs/gspull scripts/run_gspull_benchmark.py" |
| "/root/autodl-tmp/envs/FLoD scripts/run_flod_benchmark.py" |
|
|
| |
| "/root/autodl-tmp/envs/spec_gaussian scripts/run_specgaussian_benchmark.py" |
| "/root/autodl-tmp/envs/pup_3dgs scripts/run_pup3dgs_benchmark.py" |
| "/root/autodl-tmp/envs/gaussianfocus scripts/run_gaussianfocus_benchmark.py" |
| "/root/autodl-tmp/envs/lp_3dgs scripts/run_lp3dgs_benchmark.py" |
| ) |
|
|
| |
| |
| |
| TOTAL=${#tasks[@]} |
| IDX=0 |
| for task in "${tasks[@]}"; do |
| IDX=$((IDX + 1)) |
| read -r env_path script_path <<< "$task" |
| method_name=$(basename "$script_path" .py) |
|
|
| echo "----------------------------------------------------------------" \ |
| | tee -a "$STATUS_LOG" |
| echo "[$IDX/$TOTAL] $(date '+%Y-%m-%d %H:%M:%S') $method_name" \ |
| | tee -a "$STATUS_LOG" |
|
|
| |
| if [ "$method_name" = "run_lp3dgs_benchmark" ] && [ "$SKIP_LP3DGS" = "1" ]; then |
| echo "[skip] lp_3dgs torch not available" | tee -a "$STATUS_LOG" "$ERROR_LOG" |
| continue |
| fi |
|
|
| |
| if [ ! -d "$env_path" ]; then |
| echo "[skip] env missing: $env_path" | tee -a "$STATUS_LOG" "$ERROR_LOG" |
| continue |
| fi |
|
|
| conda activate "$env_path" |
| if [ $? -ne 0 ]; then |
| echo "[fail] could not activate $env_path" | tee -a "$STATUS_LOG" "$ERROR_LOG" |
| continue |
| fi |
|
|
| |
| pip install lpips imageio scikit-image -q 2>/dev/null |
|
|
| START=$(date +%s) |
| PYTHONPATH=/root/autodl-tmp/SplatAtlas \ |
| "$CONDA_PREFIX/bin/python" "/root/autodl-tmp/SplatAtlas/$script_path" \ |
| 2> >(tee -a "$ERROR_LOG" >&2) |
| RC=$? |
| END=$(date +%s) |
| DURATION=$((END - START)) |
|
|
| if [ $RC -eq 0 ]; then |
| echo "[done] $method_name (rc=0, ${DURATION}s)" | tee -a "$STATUS_LOG" |
| else |
| echo "[FAIL] $method_name (rc=$RC, ${DURATION}s) — see $ERROR_LOG" \ |
| | tee -a "$STATUS_LOG" |
| echo "[$(date)] FAILED: $method_name (rc=$RC)" >> "$ERROR_LOG" |
| fi |
|
|
| conda deactivate |
| done |
|
|
| echo "================================================================" | tee -a "$STATUS_LOG" |
| echo "17-method run finished at $(date)" | tee -a "$STATUS_LOG" |
| echo "Status log: $STATUS_LOG" |
| echo "Error log: $ERROR_LOG" |
| echo "" |
| echo "To check render flags after run:" |
| echo " ls outputs/*/render_complete_30000.flag 2>/dev/null | wc -l" |
| echo "================================================================" |