pose6daug-scripts / augment /vace /preflight.sh
mlnha's picture
pose6daug augmentation / dataset / training / eval scripts
5d08972 verified
Raw History Blame Contribute Delete
3.08 kB
#!/usr/bin/env bash
# Check everything run_aug32.sh needs before committing a multi-hour batch to a GPU.
# Exits non-zero if anything required is missing.
set -uo pipefail
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
VACE="$(cd "$HERE/.." && pwd)"
fail=0
ok() { printf ' \033[32mOK \033[0m %s\n' "$1"; }
bad() { printf ' \033[31mMISS\033[0m %s\n' "$1"; fail=1; }
have() { [ -e "$1" ] && ok "$2" || bad "$2 ($1)"; }
runs() { [ -x "$1" ] && ok "$2 ($("$1" -V 2>&1))" || bad "$2 ($1)"; }
echo "ν™˜κ²½ (κ°€μƒν™˜κ²½ β€” μƒˆλ‘œ λ§Œλ“€ ν•„μš” μ—†μŒ)"
runs "${VACE_PY_ROBOCASA:-/lp-dev/jonghoon/robocasa_calib/envs/robocasa/bin/python}" "batch driver (robocasa, mujoco)"
runs "${VACE_PY_WAN:-/lp-dev/jonghoon/VACE/venv/bin/python}" "WAN inference (torch+flash_attn)"
have "${VACE_RENDER_SCRIPT_DIR:-$HERE/vendor}/render_mesh_views_side.py" "render_mesh_views_side.py (vendored)"
"${VACE_RENDER_PYTHON:-${VACE_PY_ROBOCASA:-/lp-dev/jonghoon/robocasa_calib/envs/robocasa/bin/python}}" \
-c "import trimesh,pyrender" 2>/dev/null && ok "trimesh + pyrender (mesh view rendering)" \
|| bad "trimesh + pyrender missing from the render python"
echo
echo "VACE μ½”λ“œμ™€ κ°€μ€‘μΉ˜"
have "$VACE/VACE/vace/vace_wan_inference.py" "VACE fork (ali-vilab/VACE + batch flags)"
have "$VACE/VACE/models/Wan2.1-VACE-1.3B" "Wan2.1-VACE-1.3B weights (via models symlink)"
have "$VACE/VACE/models/VACE-Annotators" "VACE-Annotators"
have "$VACE/vace_object_insert_batch.py" "batch driver"
echo
echo "데이터셋"
have "${VACE_ROBOCASA_ROOT:-/home/nvidia/jonghoon/robocasa_full/pickplace_target_human}" "μ†ŒμŠ€ μ—ν”Όμ†Œλ“œ (μ˜μƒ + extras)"
have "${VACE_AUG_MATERIALS:-/home/nvidia/jonghoon/robocasa_full/aug_materials/robocasa}" "GT target-object 마슀크"
for r in $(echo "${VACE_ASSET_ROOTS:-/lp-dev/jonghoon/robocasa_calib/repos/robocasa/robocasa/models/assets/objects/lightwheel:/lp-dev/jonghoon/robocasa_calib/repos/robocasa/robocasa/models/assets/objects/objaverse}" | tr ":" " "); do
have "$r" "메쉬 $(basename "$r")"
done
echo
echo "GT 마슀크 컀버리지 (prep-worker κ°€ μš”κ΅¬ β€” μ—†μœΌλ©΄ κ·Έ μ—ν”Όμ†Œλ“œλŠ” μ‹€νŒ¨)"
A="${VACE_AUG_MATERIALS:-/home/nvidia/jonghoon/robocasa_full/aug_materials/robocasa}"
for t in PickPlaceCounterToCabinet PickPlaceCounterToStove PickPlaceDrawerToCounter \
PickPlaceSinkToCounter PickPlaceToasterToCounter; do
n=0
for d in "$A/$t"/ep*; do
[ -f "$d/mask_gt_target_object_robot0_agentview_left.mp4" ] &&
[ -f "$d/mask_gt_target_object_robot0_agentview_right.mp4" ] &&
[ -f "$d/mask_gt_target_object_robot0_eye_in_hand.mp4" ] && n=$((n+1))
done 2>/dev/null
printf ' %-30s %4d episodes\n' "$t" "$n"
done
echo
echo "GPU"
nvidia-smi --query-gpu=index,memory.used,memory.total,utilization.gpu --format=csv,noheader 2>/dev/null |
awk -F', ' '{printf " gpu %s %s / %s util %s\n",$1,$2,$3,$4}'
echo " ν•„μš”: μ•½ 27 GB (Wan2.1-VACE-1.3B, --offload_model False κΈ°μ€€)"
echo
[ $fail -eq 0 ] && echo "λͺ¨λ‘ 쀀비됨." || echo "λˆ„λ½ ν•­λͺ© 있음 β€” μœ„ MISS 확인."
exit $fail