pi05tests-openpi-multiarm / openpi /scripts /launch_preprocess_twin_detached.sh
lsnu's picture
Add TWIN preprocessing and norm-stats helper scripts
c8bfcad verified
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
OPENPI_ROOT="${OPENPI_ROOT:-$(cd -- "$SCRIPT_DIR/.." && pwd)}"
ROOT="${ROOT:-$HOME/pi05prep-work}"
LOGDIR="${LOGDIR:-$ROOT/logs}"
TIMESTAMP="$(date -u +%Y%m%dT%H%M%SZ)"
LOGFILE="$LOGDIR/preprocess_${TIMESTAMP}.log"
PIDFILE="$LOGDIR/preprocess_${TIMESTAMP}.pid"
SESSION_FILE="$LOGDIR/preprocess_${TIMESTAMP}.session"
LATEST_LINK="$LOGDIR/preprocess_latest.log"
LATEST_PID_LINK="$LOGDIR/preprocess_latest.pid"
LATEST_SESSION_LINK="$LOGDIR/preprocess_latest.session"
SESSION_NAME="pi05prep_${TIMESTAMP}"
RUN_SCRIPT_PATH="${RUN_SCRIPT_PATH:-$SCRIPT_DIR/run_preprocess_twin.sh}"
mkdir -p "$LOGDIR"
tmux new-session -d -s "$SESSION_NAME" "cd '$ROOT' && unset LEROBOT_HOME && export SKIP_PREPARE=1 && export OPENPI_ROOT='${OPENPI_ROOT}' && export HF_HOME='${HF_HOME:-$ROOT/hf-home}' && export HF_HUB_CACHE='${HF_HUB_CACHE:-${HF_HOME:-$ROOT/hf-home}/hub}' && export HF_DATASETS_CACHE='${HF_DATASETS_CACHE:-${HF_HOME:-$ROOT/hf-home}/datasets}' && export HF_LEROBOT_HOME='${HF_LEROBOT_HOME:-${HF_HOME:-$ROOT/hf-home}/lerobot}' && bash '$RUN_SCRIPT_PATH' >> '$LOGFILE' 2>&1"
PID="$(tmux list-panes -t "$SESSION_NAME" -F '#{pane_pid}' | head -n 1)"
echo "$PID" >"$PIDFILE"
echo "$SESSION_NAME" >"$SESSION_FILE"
ln -sfn "$LOGFILE" "$LATEST_LINK"
ln -sfn "$PIDFILE" "$LATEST_PID_LINK"
ln -sfn "$SESSION_FILE" "$LATEST_SESSION_LINK"
printf 'session=%s\npid=%s\nlog=%s\npidfile=%s\nsession_file=%s\n' "$SESSION_NAME" "$PID" "$LOGFILE" "$PIDFILE" "$SESSION_FILE"