JEM ViT-B/16 для Pl@ntNet-300K-v2
самоконтрольный бэкбон для признаков растений
Это ViT-B/16 на 86M параметров, обученный с нуля без меток на Pl@ntNet-300K-v2: 243 866 изображений, 1 000 видов растений, long-tailed распределение. Независимое воспроизведение JEM для задачи image-feature-extraction.
⚡ Ключевые особенности
- ⚙ Архитектура ViT-B/16: без CLS-токена, с 4 register-токенами и axial RoPE.
- 📊 Два варианта весов: JEM без LayerScale даёт 83.7% linear probe top-1, версия как в статье — 82.4%.
- 🔍 На редких видах (<20 train images) macro top-1: 17.9% у лучшего варианта и 14.5% у версии из статьи.
- 🖥 Обучение: 100 эпох, batch 128, одна H100, около 22 ч на запуск.
- 🔄 Опубликованы веса EMA-учителя после 100-й эпохи; projection heads не входят.
💻 Пример
from huggingface_hub import hf_hub_download
from load import load_jem
path = hf_hub_download("saulane/jem-vitb16-plantnet300kv2", "jem_nols_vitb16_plantnet300kv2_ep100.safetensors")
model = load_jem(path)
out = model(images, layers=(4, 8))
feats = out["final"].mean(1) # (B, 768)
Подробнее
Linear probe: 83.7% top-1 у варианта без LayerScale, 17.9% macro top-1 на редких видах.Для сравнения: LeJEPA — 81.3% / 12.8%, released Pl@ntNet-300K-v2 ViT-B (DINOv3 + supervised fine-tuning) — 84.4% / 23.7%.
Веса под CC-BY-4.0, код — MIT. Оценка на одном запуске и одном seed.








Комментарии