Download 14B/code/tests/test_triple_feature_metadata_contract.py from Elastic-forcing/Elastic-forcing-code: direct link, hf CLI and curl.
- Browser
- Download file 5.16 kB
-
https://huggingface.co/Elastic-forcing/Elastic-forcing-code/resolve/main/14B/code/tests/test_triple_feature_metadata_contract.py
- Command line
-
hf download hf://Elastic-forcing/Elastic-forcing-code/14B/code/tests/test_triple_feature_metadata_contract.py
-
curl -L -o test_triple_feature_metadata_contract.py https://huggingface.co/Elastic-forcing/Elastic-forcing-code/resolve/main/14B/code/tests/test_triple_feature_metadata_contract.py
5.16 kB
| import torch | |
| from model.wan_kv_mmd import WanKVMMD | |
| from video_fd.encoders.vjepa2_dense_metadata import ( | |
| canonical_vjepa2_dense_feature_metadata, | |
| uniform_dense_token_indices, | |
| ) | |
| def test_triple_vjepa_metadata_matches_bank_last_64_contract(): | |
| model = object.__new__(WanKVMMD) | |
| model.feature_type = "triple_dinov3_vjepa2_videomae_v2_dense_latent" | |
| model.dense_feature_prefix = "triple" | |
| model.dense_encoder_name = "triple" | |
| model.dense_log_prefix = "triple_dense" | |
| model.vjepa2_reference_model_id = "vjepa2-vitl-fpc64-256" | |
| model.vjepa2_model_id = "/unused/local/model" | |
| model.vjepa2_dense_layer = 15 | |
| model.vjepa2_dense_layers = (15,) | |
| model.vjepa2_dense_num_frames = 64 | |
| model.vjepa2_dense_source_num_frames = 81 | |
| model.vjepa2_dense_frame_sampling = "last_contiguous" | |
| model.vjepa2_dense_resize_short_side = 292 | |
| model.vjepa2_dense_crop_size = 256 | |
| model.vjepa2_dense_raw_tokens = 2048 | |
| model.vjepa2_dense_num_tokens = 1024 | |
| model.vjepa2_dense_feature_dim = 1024 | |
| indices = uniform_dense_token_indices(2048, 1024) | |
| actual = model._vjepa2_feature_metadata(indices) | |
| expected = canonical_vjepa2_dense_feature_metadata( | |
| model_id="vjepa2-vitl-fpc64-256", | |
| layer_index=15, | |
| num_frames=64, | |
| resize_short_side=292, | |
| crop_size=256, | |
| raw_tokens=2048, | |
| num_tokens=1024, | |
| feature_dim=1024, | |
| token_indices=indices, | |
| frame_sampling="last_contiguous", | |
| source_num_frames=81, | |
| ) | |
| assert actual == expected | |
| assert actual["selected_frame_start"] == 17 | |
| assert actual["selected_frame_end_inclusive"] == 80 | |
| def test_dual_dinov3_vjepa_metadata_uses_explicit_uniform_indices_by_default(): | |
| model = object.__new__(WanKVMMD) | |
| model.feature_type = "dual_dinov3_vjepa2_dense_latent" | |
| model.dense_feature_prefix = "dinov3_vjepa2" | |
| model.dense_encoder_name = "dinov3_vjepa2" | |
| model.dense_log_prefix = "dinov3_vjepa2_dense" | |
| model.vjepa2_reference_model_id = "vjepa2-vitl-fpc64-256" | |
| model.vjepa2_model_id = "/unused/local/model" | |
| model.vjepa2_dense_layer = 15 | |
| model.vjepa2_dense_layers = (15,) | |
| model.vjepa2_dense_num_frames = 64 | |
| model.vjepa2_dense_source_num_frames = 81 | |
| model.vjepa2_dense_frame_sampling = "center_contiguous" | |
| model.vjepa2_dense_resize_short_side = 292 | |
| model.vjepa2_dense_crop_size = 256 | |
| model.vjepa2_dense_raw_tokens = 2048 | |
| model.vjepa2_dense_num_tokens = 1024 | |
| model.vjepa2_dense_feature_dim = 1024 | |
| actual = model._vjepa2_feature_metadata() | |
| indices = uniform_dense_token_indices(2048, 1024) | |
| expected = canonical_vjepa2_dense_feature_metadata( | |
| model_id="vjepa2-vitl-fpc64-256", | |
| layer_index=15, | |
| num_frames=64, | |
| resize_short_side=292, | |
| crop_size=256, | |
| raw_tokens=2048, | |
| num_tokens=1024, | |
| feature_dim=1024, | |
| token_indices=indices, | |
| frame_sampling="last_contiguous", | |
| source_num_frames=81, | |
| ) | |
| assert actual == expected | |
| assert actual["token_alignment"] == "same_explicit_indices_and_order" | |
| def test_frozen_videomae_identity_never_accesses_old_mount(monkeypatch): | |
| from video_fd.encoders import videomae_v2_dense_metadata as vm | |
| identity = "/unavailable/reference/model" | |
| expected = vm.canonical_videomae_v2_dense_feature_metadata( | |
| model_id=identity, layer_index=15, num_tokens=256, | |
| model_id_is_reference=True) | |
| def forbidden(*args, **kwargs): | |
| raise AssertionError("Frozen reference identity was treated as a local path") | |
| monkeypatch.setattr(vm.os.path, "exists", forbidden) | |
| monkeypatch.setattr(vm.os.path, "realpath", forbidden) | |
| actual = vm.canonical_videomae_v2_dense_feature_metadata( | |
| model_id=identity, layer_index=15, num_tokens=256, | |
| model_id_is_reference=True) | |
| assert actual == expected | |
| assert actual["model_id"] == identity | |
| def test_dinov3_relocation_preserves_frozen_metadata_without_changing_load_paths(): | |
| import hashlib | |
| import json | |
| from types import SimpleNamespace | |
| model = object.__new__(WanKVMMD) | |
| torch.nn.Module.__init__(model) | |
| metadata = dict(feature_type='dinov3_dense_latent', model_id='dinov3', | |
| raw_tokens=5120, num_tokens=1024, feature_dim=1024, matrix_shape=[1024, 1024], | |
| repo_path='/relocated/models/dinov3-src', weight_path='/relocated/models/weights.pth') | |
| model.dinov3_encoder = SimpleNamespace(feature_metadata=lambda: dict(metadata)) | |
| model.dinov3_model_id = 'dinov3' | |
| model.dinov3_dense_raw_tokens = 5120 | |
| model.dinov3_dense_num_tokens = model.dinov3_dense_feature_dim = 1024 | |
| model.dinov3_reference_paths = dict(repo_path='/frozen/models/dinov3-src', weight_path='/frozen/models/weights.pth') | |
| expected = {**metadata, **model.dinov3_reference_paths} | |
| expected['feature_contract_sha256'] = hashlib.sha256(json.dumps(expected, | |
| sort_keys=True, separators=(',', ':'), ensure_ascii=True, allow_nan=False).encode()).hexdigest() | |
| assert model._dinov3_feature_metadata() == expected | |
| assert model.dinov3_encoder.feature_metadata()['repo_path'] == '/relocated/models/dinov3-src' | |