| param( |
| [string]$Python = "C:\Users\A\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe", |
| [int]$TeacherBatchSize = 8 |
| ) |
|
|
| $ErrorActionPreference = "Stop" |
| $Root = "E:\Gaze_estimation" |
| $Participants = @("p00", "p02", "p03", "p04", "p05", "p06", "p07", "p09", "p10", "p12", "p13", "p14") |
| Set-Location -LiteralPath $Root |
|
|
| foreach ($Participant in $Participants) { |
| $Validation = Join-Path $Root "data\processed_kd_clean_v1\manifests\$Participant.source.validation.json" |
| if (-not (Test-Path -LiteralPath $Validation)) { |
| & $Python scripts\build_kd_clean_manifest.py --participant $Participant |
| if ($LASTEXITCODE -ne 0) { throw "manifest build failed for $Participant" } |
| & $Python scripts\validate_kd_clean_manifest.py --participant $Participant |
| if ($LASTEXITCODE -ne 0) { throw "manifest validation failed for $Participant" } |
| } |
|
|
| $PointValidation = Join-Path $Root "data\processed_kd_clean_v1\cache\$Participant.official448_pointkd.validation.json" |
| if (Test-Path -LiteralPath $PointValidation) { |
| $Report = Get-Content -LiteralPath $PointValidation -Raw | ConvertFrom-Json |
| if (-not $Report.pass) { throw "existing point-KD validation fails for $Participant" } |
| continue |
| } |
|
|
| $FullCache = Join-Path $Root "data\processed_kd_clean_v1\cache\$Participant.official448_full.h5" |
| $FullSummary = Join-Path $Root "data\processed_kd_clean_v1\cache\$Participant.official448_full.summary.json" |
| $FullValidation = Join-Path $Root "data\processed_kd_clean_v1\cache\$Participant.official448_full.validation.json" |
| if (-not (Test-Path -LiteralPath $FullValidation)) { |
| if (-not (Test-Path -LiteralPath $FullCache)) { |
| & $Python scripts\generate_kd_clean_cache_batched.py --participant $Participant --tag official448_full --device cpu --teacher-batch-size $TeacherBatchSize |
| if ($LASTEXITCODE -ne 0) { throw "full cache generation failed for $Participant" } |
| } elseif (-not (Test-Path -LiteralPath $FullSummary)) { |
| throw "incomplete immutable full cache exists for $Participant; inspect manually" |
| } |
| & $Python scripts\validate_kd_clean_cache.py --participant $Participant --tag official448_full |
| if ($LASTEXITCODE -ne 0) { throw "full cache validation failed for $Participant" } |
| } |
|
|
| $PointCache = Join-Path $Root "data\processed_kd_clean_v1\cache\$Participant.official448_pointkd.h5" |
| $PointSummary = Join-Path $Root "data\processed_kd_clean_v1\cache\$Participant.official448_pointkd.summary.json" |
| if (-not (Test-Path -LiteralPath $PointCache)) { |
| & $Python scripts\assemble_pointkd_cache.py --participant $Participant |
| if ($LASTEXITCODE -ne 0) { throw "point-KD assembly failed for $Participant" } |
| } elseif (-not (Test-Path -LiteralPath $PointSummary)) { |
| throw "incomplete immutable point-KD cache exists for $Participant; inspect manually" |
| } |
| & $Python scripts\validate_pointkd_cache.py --participant $Participant |
| if ($LASTEXITCODE -ne 0) { throw "point-KD validation failed for $Participant" } |
| } |
|
|