AsianPlayer/TriDrive / code /data /run_extract_pose_causal.sh
AsianPlayer's picture
download
raw
1.27 kB
#!/usr/bin/env bash
# cwm3/data/run_extract_pose_causal.sh — resumable flock loop for the full causal-pose extraction (26,578 clips).
# Each chunk holds /tmp/s13_gpu.lock for <= ~21 min: the extractor stops submitting work at --max-minutes 20 and drains
# its in-flight decode jobs (a few seconds). Exit code 3 = budget reached with work remaining -> loop again;
# 0 = ALL_DONE; anything else = error -> wait 60 s and retry (existing npz are skipped, so restarts are free).
# NOT launched automatically; start with: bash cwm3/data/run_extract_pose_causal.sh (optionally: DECODE_WORKERS=8 MAX_MIN=20)
set -u
PY=python
DIR="$(cd "$(dirname "$0")" && pwd)"
LOGD="$DIR/../results/pose_causal/logs"; mkdir -p "$LOGD"
DECODE_WORKERS="${DECODE_WORKERS:-6}"; MAX_MIN="${MAX_MIN:-20}"; PAUSE="${PAUSE:-5}"
while true; do
LOG="$LOGD/chunk_$(date -u +%Y%m%dT%H%M%SZ).log"
flock /tmp/s13_gpu.lock "$PY" "$DIR/extract_pose_causal.py" --all --max-minutes "$MAX_MIN" --decode-workers "$DECODE_WORKERS" >"$LOG" 2>&1
rc=$?
tail -1 "$LOG"
if [ "$rc" -eq 0 ]; then echo "ALL_DONE $(date -u +%FT%TZ)"; break; fi
if [ "$rc" -ne 3 ]; then echo "chunk rc=$rc (see $LOG); retry in 60 s"; sleep 60; fi
sleep "$PAUSE" # let other GPU jobs grab the lock between chunks
done

Xet Storage Details

Size:
1.27 kB
·
Xet hash:
1a5350fe3639a39ec3542308fd3668ac6a8f57658d07c44306ef3b7c151db9e8

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.