Gaze-LIPE / scripts /verify_strict_teacher_loader.py
thanhhuyvan's picture
Publish KD reproducibility investigation
178f61f
Raw
History Blame Contribute Delete
1.3 kB
"""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()