Add inference-only evaluation for EgoSpeak Omni finetuning

This commit is contained in:
Xin Wang
2026-09-16 17:28:31 +08:00
parent 64adbef13d
commit 7344d0c469
3 changed files with 181 additions and 0 deletions
+33
View File
@@ -24,7 +24,9 @@ from egospeak_omni_residual import (
MiniROADABase,
load_easycom_session_arrays,
miniroad_normalized_loss,
sha256_file,
)
from infer_egospeak_omni_finetune import main as infer_main
from train_egospeak_omni_finetune import (
main,
parse_args,
@@ -324,6 +326,37 @@ class EgoSpeakOmniFinetuneTest(unittest.TestCase):
)
self.assertEqual(loaded.base_trainable, "gru-heads")
self.assertTrue((output / "README.md").is_file())
infer_output = root / "infer_only"
before_hash = sha256_file(output / "checkpoint_last.pt")
with (
patch(
"infer_egospeak_omni_finetune.load_sessions", return_value=[session]
),
redirect_stdout(io.StringIO()),
):
infer_main(
[
"--checkpoint",
str(output / "checkpoint_last.pt"),
"--output-dir",
str(infer_output),
"--sessions",
"Session_4",
"--device",
"cpu",
"--no-progress",
]
)
self.assertEqual(before_hash, sha256_file(output / "checkpoint_last.pt"))
np.testing.assert_array_equal(
np.load(output / "raw_eval" / "Session_4.npy"),
np.load(infer_output / "raw_eval" / "Session_4.npy"),
)
self.assertTrue(
json.loads((infer_output / "metrics.json").read_text())[
"inference_only"
]
)
for method in (
output,
output / "stage_one_reference",