Add inference-only evaluation for EgoSpeak Omni finetuning
This commit is contained in:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user