Reject unimplemented WorldMem memory backend
Browse files
datasets/video/memory_selection.py
CHANGED
|
@@ -400,7 +400,17 @@ def select_memory_indices(poses, target_positions, cfg=None, split: str = "train
|
|
| 400 |
}
|
| 401 |
indices, masks = _empty_selection(counts)
|
| 402 |
|
| 403 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 404 |
return indices, masks
|
| 405 |
|
| 406 |
target_start = int(target_positions[0])
|
|
|
|
| 400 |
}
|
| 401 |
indices, masks = _empty_selection(counts)
|
| 402 |
|
| 403 |
+
enabled = bool(cfg_get(cfg, "enabled", True))
|
| 404 |
+
backend = cfg_get(cfg, "backend", "dememwm")
|
| 405 |
+
backend = "dememwm" if backend is None else str(backend).lower()
|
| 406 |
+
if enabled and backend != "dememwm":
|
| 407 |
+
if backend == "worldmem":
|
| 408 |
+
raise NotImplementedError(
|
| 409 |
+
"memory_selection.backend='worldmem' is not implemented for DeMemWM latent data"
|
| 410 |
+
)
|
| 411 |
+
raise ValueError(f"Unsupported memory_selection.backend='{backend}'")
|
| 412 |
+
|
| 413 |
+
if not enabled or len(target_positions) == 0:
|
| 414 |
return indices, masks
|
| 415 |
|
| 416 |
target_start = int(target_positions[0])
|
tests/test_dememwm_latent_dataset.py
CHANGED
|
@@ -41,6 +41,13 @@ def _poses(num_frames):
|
|
| 41 |
|
| 42 |
|
| 43 |
class MemorySelectionTests(unittest.TestCase):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
def test_revisit_uses_sampled_fov_selection(self):
|
| 45 |
poses = np.array(
|
| 46 |
[
|
|
|
|
| 41 |
|
| 42 |
|
| 43 |
class MemorySelectionTests(unittest.TestCase):
|
| 44 |
+
def test_worldmem_backend_is_explicitly_rejected_until_implemented(self):
|
| 45 |
+
poses = _poses(8)
|
| 46 |
+
cfg = _selection_cfg(backend="worldmem")
|
| 47 |
+
|
| 48 |
+
with self.assertRaisesRegex(NotImplementedError, "worldmem"):
|
| 49 |
+
select_memory_indices(poses, np.array([4, 5]), cfg, split="validation")
|
| 50 |
+
|
| 51 |
def test_revisit_uses_sampled_fov_selection(self):
|
| 52 |
poses = np.array(
|
| 53 |
[
|