Part of #16 (Spec 1 — Foundation).
Make feature extraction work for any backbone, inference-only.
Scope
scripts/extract_features.py → --backbone {i3d,clip,videomae,videomaev2,internvideo2} dispatcher via build_extractor(); cache *_<backbone>.npy; keep segment_features (dim-agnostic). Legacy I3D path byte-identical.
- New
src/features/internvideo2.py, src/features/videomaev2.py — OpenGVLab native weights (not transformers-native) → custom loader (prefer validated HF export). dim from model config.
- Reuse existing dataset-keyed layout + unified manifest.
Done when
- Each backbone produces cached features of the documented dim.
- I3D path unchanged (regression).
Part of #16 (Spec 1 — Foundation).
Make feature extraction work for any backbone, inference-only.
Scope
scripts/extract_features.py→--backbone {i3d,clip,videomae,videomaev2,internvideo2}dispatcher viabuild_extractor(); cache*_<backbone>.npy; keepsegment_features(dim-agnostic). Legacy I3D path byte-identical.src/features/internvideo2.py,src/features/videomaev2.py— OpenGVLab native weights (not transformers-native) → custom loader (prefer validated HF export).dimfrom model config.Done when