| param( | |
| [string]$Python = "C:\Users\A\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe", | |
| [int]$Epochs = 50, | |
| [int]$BatchSize = 32 | |
| ) | |
| $ErrorActionPreference = "Stop" | |
| $Root = "E:\Gaze_estimation" | |
| $Seeds = @(20260809, 20260810, 20260811) | |
| $Arms = @("control", "point_kd", "quality_gated_point_kd", "shuffled_teacher_kd") | |
| Set-Location -LiteralPath $Root | |
| foreach ($Seed in $Seeds) { | |
| foreach ($Arm in $Arms) { | |
| $Summary = Join-Path $Root "artifacts\kd-teacher-trap-diagnostic\matched-runs-v1\p01\seed-$Seed\$Arm\summary.json" | |
| if (Test-Path -LiteralPath $Summary) { | |
| throw "immutable run already exists: $Summary" | |
| } | |
| & $Python experiments\train_matched_pointkd.py --held-out p01 --arm $Arm --seed $Seed --epochs $Epochs --batch-size $BatchSize --device cpu | |
| if ($LASTEXITCODE -ne 0) { throw "matched preflight failed for seed $Seed arm $Arm" } | |
| } | |
| } | |
| & $Python scripts\analyze_matched_pointkd_runs.py | |
| if ($LASTEXITCODE -ne 0) { throw "matched preflight analysis failed" } | |