| #!/bin/bash |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| set -e |
|
|
| EXPECTED_ROOT="/root/autodl-tmp/SplatAtlas" |
| if [ "$(pwd)" != "$EXPECTED_ROOT" ]; then |
| echo "ERROR: please cd to $EXPECTED_ROOT first" |
| echo " (you are in $(pwd))" |
| exit 1 |
| fi |
|
|
| PATCH=splatatlas_full_patch.tar.gz |
| if [ ! -f "$PATCH" ]; then |
| echo "ERROR: $PATCH not found in $(pwd)" |
| exit 1 |
| fi |
|
|
| |
| BACKUP_DIR=".backup_$(date +%Y%m%d_%H%M%S)" |
| mkdir -p "$BACKUP_DIR" |
| for f in methods/wrapper_absgs.py methods/wrapper_pixelgs.py \ |
| methods/wrapper_pixelgssgf.py methods/wrapper_sgfgs.py; do |
| if [ -f "$f" ]; then |
| cp "$f" "$BACKUP_DIR/" |
| fi |
| done |
| echo "[1/4] backed up 4 modified wrappers → $BACKUP_DIR/" |
|
|
| |
| tar -xzf "$PATCH" |
| echo "[2/4] patch extracted" |
|
|
| |
| for missing in pixelgssgf sgfgs; do |
| target="configs/${missing}_benchmark.yaml" |
| if [ ! -f "$target" ]; then |
| if [ -f configs/absgs_benchmark.yaml ]; then |
| sed "s/^method_name: absgs/method_name: ${missing}/" \ |
| configs/absgs_benchmark.yaml > "$target" |
| echo "[3/4] generated missing $target from absgs template" |
| else |
| echo "[3/4] WARNING: $target missing AND no absgs_benchmark.yaml to clone from" |
| fi |
| fi |
| done |
|
|
| |
| echo "[4/4] verification:" |
| echo "" |
|
|
| echo "--- SGF residue in wrapper_pixelgs.py (should be empty) ---" |
| grep -n "SGFController\|guided_l1_loss\|guided_ssim_loss" methods/wrapper_pixelgs.py \ |
| && echo " FAIL: residue found" || echo " PASS" |
| echo "" |
|
|
| echo "--- pixels kept in wrapper_pixelgs.py (should have 2 lines) ---" |
| grep -n "pixels" methods/wrapper_pixelgs.py | grep -E "render_pkg|add_densification" || echo " FAIL" |
| echo "" |
|
|
| echo "--- new wrappers registered ---" |
| grep -n "register_method" methods/wrapper_edgeloss.py methods/wrapper_vanillasgf.py |
| echo "" |
|
|
| echo "--- timing in all 6 wrappers ---" |
| for f in absgs pixelgs pixelgssgf sgfgs vanillasgf edgeloss; do |
| if [ -f "methods/wrapper_${f}.py" ]; then |
| n_time=$(grep -c "iter_time_ms\|render_ms\|vram_allocated" methods/wrapper_${f}.py) |
| echo " wrapper_${f}.py: $n_time timing references" |
| fi |
| done |
| echo "" |
|
|
| echo "--- configs present ---" |
| ls -1 configs/*_benchmark.yaml |
| echo "" |
|
|
| echo "--- run scripts present ---" |
| ls -1 run_*.py |
| echo "" |
|
|
| echo "--- master execution plan dependency check ---" |
| for need in run_vanillasgf.py run_absgs.py run_pixelgs.py run_edgeloss.py run_vanilla.py; do |
| if [ -f "$need" ]; then |
| echo " OK $need" |
| else |
| echo " MISS $need (run_all.py will skip this method)" |
| fi |
| done |
| echo "" |
|
|
| echo "DONE. To run a single method: python run_<method>.py" |
| echo " To run all methods: python run_all.py" |
| echo " To dry-run plan: python run_all.py --dry-run" |
| echo "" |
| echo "Backup of pre-patch wrappers: $BACKUP_DIR/" |
|
|