# Experiment Scripts These scripts were used to run individual training experiments. Each corresponds to an entry in docs/TEST_HISTORY.md. | Script | Experiment | Key change | |---|---|---| | mountain_v5.py | Exp 5 | v5 reward + throttle_min=0.5, direct model.learn() | | mountain_continue.py | Exp 4 | Continued Exp3 training | | mountain_high_throttle.py | Exp 3 | throttle_min=0.5, old v4 reward | | exp6_mountain_v5_proper.py | Exp 6 | v5 + termination, wrong steps_per_switch (=total) | | exp7_mountain_proper.py | Exp 7 | v5 + termination, correct steps_per_switch=6000, had phantom car issue | | exp8_mountain_clean.py | Exp 8 | v5 + throttle_min=0.5, single connection, correct checkpointing | | exp9_mountain_v5_throttle02.py | Exp 9 | v5 + throttle_min=0.2, OUR BEST MODEL | | exp10_two_tracks.py | Exp 10 | Two tracks via custom script (abandoned — used multitrack_runner.py instead) | | overnight.py | Overnight runs | mountain-only and Trial9-repeat experiments | | wave5_train.py | Wave 5 | generated_track only with throttle_min=0.2 | ## Rule going forward ALL experiment scripts must be saved here and committed to git BEFORE running. Scripts in /tmp are lost on reboot. ## Running experiments Use multitrack_runner.py directly for two-track training: python3 multitrack_runner.py --total-timesteps 90000 --steps-per-switch 6000 ... For single-track experiments, use the pattern from exp8/exp9: - VecTransposeImage(DummyVecEnv([make_env])) for env creation - Direct model.learn() loop with manual checkpointing - No close_and_switch() for single track