tune(training): 20-round chunks, 50 eval rounds, 30k total rounds
- generalist_train.sh: CHUNK_SIZE 60→20 for faster opponent cycling - generalist_train.sh: EVAL_ROUNDS 30→50 for more reliable eval - training.env: TRAINING_ROUNDS→30000, removed hardcoded opponent - warm_start.py: TARGET_DIM=57 (already committed, ensure latest)
This commit is contained in:
@@ -53,9 +53,9 @@ SELFTEST_LOG="/tmp/generalist_sampling_selftest.log"
|
|||||||
|
|
||||||
# ── config (env-overridable) ──────────────────────────────────────────────────
|
# ── config (env-overridable) ──────────────────────────────────────────────────
|
||||||
TOTAL_ROUNDS="${TOTAL_ROUNDS:-40000}"
|
TOTAL_ROUNDS="${TOTAL_ROUNDS:-40000}"
|
||||||
CHUNK_SIZE="${CHUNK_SIZE:-60}"
|
CHUNK_SIZE="${CHUNK_SIZE:-20}"
|
||||||
EVAL_INTERVAL="${EVAL_INTERVAL:-1000}"
|
EVAL_INTERVAL="${EVAL_INTERVAL:-1000}"
|
||||||
EVAL_ROUNDS="${EVAL_ROUNDS:-30}"
|
EVAL_ROUNDS="${EVAL_ROUNDS:-50}"
|
||||||
PASS_RATE="${PASS_RATE:-0.90}"
|
PASS_RATE="${PASS_RATE:-0.90}"
|
||||||
FLOOR="${FLOOR:-0.05}" # minimum sampling weight — keeps maintenance sampling alive
|
FLOOR="${FLOOR:-0.05}" # minimum sampling weight — keeps maintenance sampling alive
|
||||||
ALPHA="${ALPHA:-0.3}" # winrate EMA smoothing: new = ALPHA*old + (1-ALPHA)*eval
|
ALPHA="${ALPHA:-0.3}" # winrate EMA smoothing: new = ALPHA*old + (1-ALPHA)*eval
|
||||||
@@ -302,6 +302,18 @@ main() {
|
|||||||
(cd "$SCRIPT_DIR" && javac -cp "$JAR" RunTraining.java) || { echo "ERROR: RunTraining compile failed" >&2; exit 1; }
|
(cd "$SCRIPT_DIR" && javac -cp "$JAR" RunTraining.java) || { echo "ERROR: RunTraining compile failed" >&2; exit 1; }
|
||||||
echo ">>> Compilation done."
|
echo ">>> Compilation done."
|
||||||
|
|
||||||
|
# ── tmux-friendly session header ────────────────────────────────────────────
|
||||||
|
echo ""
|
||||||
|
echo "┌─────────────────────────────────────────────────────────────────┐"
|
||||||
|
printf "│ Start time : %-48s│\n" "$(date '+%Y-%m-%d %H:%M:%S %Z')"
|
||||||
|
printf "│ Total rounds : %-48s│\n" "$TOTAL_ROUNDS"
|
||||||
|
printf "│ Chunk size : %-48s│\n" "$CHUNK_SIZE ($(( TOTAL_ROUNDS / CHUNK_SIZE )) chunks total)"
|
||||||
|
printf "│ Eval interval: %-48s│\n" "every $EVAL_INTERVAL rounds ($(( TOTAL_ROUNDS / EVAL_INTERVAL )) evals planned)"
|
||||||
|
printf "│ Eval rounds : %-48s│\n" "$EVAL_ROUNDS per opponent ($(( ${#OPPONENTS[@]} * EVAL_ROUNDS )) max wins)"
|
||||||
|
printf "│ Opponents : %-48s│\n" "${#OPPONENTS[@]} bots"
|
||||||
|
echo "└─────────────────────────────────────────────────────────────────┘"
|
||||||
|
echo ""
|
||||||
|
|
||||||
load_best
|
load_best
|
||||||
load_wr
|
load_wr
|
||||||
persist_wr # materialize state now so an early crash still leaves a readable file
|
persist_wr # materialize state now so an early crash still leaves a readable file
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
TRAINING_OPPONENT=Fire
|
# TRAINING_OPPONENT=Fire
|
||||||
TRAINING_ROUNDS=3000
|
TRAINING_ROUNDS=30000
|
||||||
PPOB_LOG_FILE=/home/davide/Projects/SirRoboGarage/tools/training_runner/logs/fire_training.jsonl
|
PPOB_LOG_FILE=/home/davide/Projects/SirRoboGarage/tools/training_runner/logs/fire_training.jsonl
|
||||||
PPOB_LR=0.0003
|
PPOB_LR=0.0003
|
||||||
PPOB_CLIP_EPSILON=0.2
|
PPOB_CLIP_EPSILON=0.2
|
||||||
|
|||||||
Reference in New Issue
Block a user