BridgeLinkASL / tests /test_training_and_evaluation.py
ofraij123's picture
Sync from GitHub via hub-sync
51a27d1 verified
Raw
History Blame Contribute Delete
1.17 kB
from __future__ import annotations
import unittest
import uuid
from pathlib import Path
from bridgelink_asl.evaluation import evaluate_saved_model, save_metrics
from bridgelink_asl.training import train_centroid_model
class TrainingAndEvaluationTests(unittest.TestCase):
def test_training_and_evaluation_round_trip(self) -> None:
dataset_path = Path(__file__).resolve().parents[1] / "data" / "processed" / "sample_landmarks.jsonl"
tmp_root = Path(__file__).resolve().parents[1] / ".tmp-tests"
tmp_root.mkdir(parents=True, exist_ok=True)
scratch_dir = tmp_root / f"training-{uuid.uuid4().hex}"
scratch_dir.mkdir(parents=True, exist_ok=True)
model_path = scratch_dir / "baseline.json"
metrics_path = scratch_dir / "metrics.json"
summary = train_centroid_model(dataset_path, model_path)
metrics = evaluate_saved_model(model_path, dataset_path, split="test")
save_metrics(metrics, metrics_path)
self.assertTrue(model_path.exists())
self.assertEqual(summary.records_used, 12)
self.assertEqual(metrics.accuracy, 1.0)
self.assertTrue(metrics_path.exists())