| """Verify the clean strict teacher loader and record its reproducibility audit.""" |
| from __future__ import annotations |
|
|
| import json |
| from pathlib import Path |
| import sys |
|
|
| ROOT = Path(r"E:\Gaze_estimation") |
| sys.path.insert(0, str(ROOT / ".codex_deps")) |
| sys.path.insert(0, str(ROOT)) |
|
|
| from src.models.teacher_strict import audit_to_dict, load_teacher_model_strict |
|
|
|
|
| def main() -> None: |
| checkpoint = ROOT / "checkpoints" / "resnet50.pt" |
| _, first = load_teacher_model_strict(checkpoint, device="cpu") |
| _, second = load_teacher_model_strict(checkpoint, device="cpu") |
| if first.inference_sha256 != second.inference_sha256: |
| raise RuntimeError("Fixed-input inference hash changed across two strict reloads") |
| report = audit_to_dict(first) |
| report["repeat_load_inference_hash_match"] = True |
| report["gate_a_loader_pass"] = bool( |
| first.checkpoint_tensor_count == 322 |
| and first.mapped_tensor_count == first.checkpoint_tensor_count |
| and first.model_tensor_count == first.mapped_tensor_count + 1 |
| ) |
| output = ROOT / "artifacts" / "kd-teacher-trap-diagnostic" / "strict_teacher_loader_audit.json" |
| output.write_text(json.dumps(report, indent=2) + "\n", encoding="utf-8") |
| print(json.dumps(report, indent=2)) |
|
|
|
|
| if __name__ == "__main__": |
| main() |
|
|