Stoicheia-code / scripts /pretrain /finalize_fold.sh
anonymous-stoicheia's picture
Upload folder using huggingface_hub
7ed86c3 verified
Raw
History Blame Contribute Delete
1.27 kB
#!/bin/bash
# After a fold's chain prints DONE: report the model of record and optionally prune the
# redundant checkpoints (last.pt duplicates final.pt at completion; pre_anneal.pt only
# matters for anneal re-runs). Never deletes final.pt / best.pt / eval.jsonl.
#
# Usage: scripts/pretrain/finalize_fold.sh <fold 0-9> [--prune]
set -euo pipefail
FOLD=${1:?usage: finalize_fold.sh <fold 0-9> [--prune]}
STOICHEIA_DATA=${STOICHEIA_DATA:?set STOICHEIA_DATA/STOICHEIA_DATA (source env.sh first)}
STOICHEIA_ROOT=${STOICHEIA_ROOT:?set STOICHEIA_ROOT/STOICHEIA_ROOT (source env.sh first)}
RUN=$STOICHEIA_DATA/runs/stoicheia_fold_$FOLD
LOG=$(grep -l "DONE (end step" "$STOICHEIA_ROOT"/logs/fold${FOLD}-*.out 2>/dev/null | tail -1 || true)
if [ -z "$LOG" ]; then
echo "fold $FOLD: no DONE marker in logs yet — not finalizing"; exit 1
fi
[ -f "$RUN/final.pt" ] || { echo "fold $FOLD: DONE logged but $RUN/final.pt missing"; exit 1; }
if grep -q "EARLY-STOPPED" "$LOG"; then
echo "fold $FOLD: COMPLETE (early-stopped) — model of record: $RUN/best.pt"
else
echo "fold $FOLD: COMPLETE — model of record: $RUN/final.pt"
fi
tail -3 "$RUN/eval.jsonl" 2>/dev/null || true
if [ "${2:-}" = "--prune" ]; then
rm -fv "$RUN/last.pt" "$RUN/pre_anneal.pt"
fi
du -sh "$RUN"