Image Feature Extraction
Transformers
Safetensors
motif_vision
feature-extraction
motif
vision-transformer
self-supervised
video
custom_code
Instructions to use Motif-Technologies/Motif-Vision-Encoder with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Motif-Technologies/Motif-Vision-Encoder with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-feature-extraction", model="Motif-Technologies/Motif-Vision-Encoder", trust_remote_code=True)# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("Motif-Technologies/Motif-Vision-Encoder", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
docs(README): add attention demo GIF + data-efficiency headline
Browse filesAdd assets/haaland_full_attn_blk20.gif (LFS) self-attention visualization; track *.gif via LFS; add topline noting ~1/3 of DINOv3's data (0.5B vs 1.7B) with competitive performance.
- .gitattributes +1 -0
- README.md +8 -0
- assets/haaland_full_attn_blk20.gif +3 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
*.gif filter=lfs diff=lfs merge=lfs -text
|
README.md
CHANGED
|
@@ -18,6 +18,14 @@ backbone. A single **3D-convolutional tokenizer** ingests both modalities — an
|
|
| 18 |
1-frame clip (`T=1`), a video is `T>1` — so the same weights produce **dense patch-level
|
| 19 |
features** and a **language-aligned global (CLS) representation**.
|
| 20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
- **Architecture**: ViT-7B (embed 4096 / depth 40 / heads 32), patch 16, 3D axial RoPE
|
| 22 |
(`base=100`), SwiGLU FFN, LayerScale, per-head QK-norm, gated attention, 4 register tokens.
|
| 23 |
- **Tokenizer**: `Conv3d(kernel=stride=(tubelet, patch, patch))` — image `(B,3,H,W)` → `T=1`,
|
|
|
|
| 18 |
1-frame clip (`T=1`), a video is `T>1` — so the same weights produce **dense patch-level
|
| 19 |
features** and a **language-aligned global (CLS) representation**.
|
| 20 |
|
| 21 |
+
Trained on **~1/3 the data of DINOv3** (0.5B vs 1.7B samples), it still reaches competitive
|
| 22 |
+
performance across image and video benchmarks — and leads on DAVIS video tracking.
|
| 23 |
+
|
| 24 |
+
<p align="center">
|
| 25 |
+
<img src="assets/haaland_full_attn_blk20.gif" width="480" alt="Self-attention visualization on a video clip"/>
|
| 26 |
+
</p>
|
| 27 |
+
<p align="center"><em>Self-attention over patch tokens (block 20) on a video clip — the encoder attends coherently to the subject across frames.</em></p>
|
| 28 |
+
|
| 29 |
- **Architecture**: ViT-7B (embed 4096 / depth 40 / heads 32), patch 16, 3D axial RoPE
|
| 30 |
(`base=100`), SwiGLU FFN, LayerScale, per-head QK-norm, gated attention, 4 register tokens.
|
| 31 |
- **Tokenizer**: `Conv3d(kernel=stride=(tubelet, patch, patch))` — image `(B,3,H,W)` → `T=1`,
|
assets/haaland_full_attn_blk20.gif
ADDED
|
Git LFS Details
|