/ Модель

Характеристики

Лицензия
CC0 1.0
Библиотека
pytorch
Опубликована
24 июл 2026

TESSERA-V-2.0-2B-Teacher

Эмбеддинги изображенийИзображение → embedding

Пиксельный энкодер TESSERA v2 извлекает 1024-мерные признаки из годовых временных рядов Sentinel-1 и Sentinel-2 и предназначен главным образом для дистилляции компактных моделей.

0скачиваний за 30 дней1лайквеса обновлены14 авг 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

TESSERA v2 2B Teacher — модель семейства TESSERA v2 для извлечения признаков из данных дистанционного зондирования Земли. Это пиксельный энкодер на 2,06 млрд параметров, описанный как часть работы «TESSERA v2: Scaling Pixel-wise Earth Foundation Models». Он принимает годовую историю наблюдений одного пикселя Sentinel-2 и Sentinel-1 и формирует векторное представление размерности 1024.

Архитектура включает отдельные Transformer-энкодеры для мультиспектральных данных Sentinel-2 и радиолокационных данных Sentinel-1, а также блок слияния модальностей. Входные ряды содержат спектральные каналы, даты наблюдений и маску валидности для Sentinel-2; выход нормирован по среднему и стандартному отклонению. Репозиторий содержит веса PyTorch в формате fp32. Лицензия — CC0-1.0.

Модель предназначена прежде всего для дистилляции компактных моделей TESSERA и исследовательской работы с пиксельными представлениями данных наблюдения Земли. Её можно применять для построения признаков, которые затем используют в задачах дистанционного зондирования. Из-за 2,06 млрд параметров на пиксель и потребности примерно в 8 ГБ памяти только для весов вычисление признаков для больших территорий непрактично на обычном оборудовании; для запуска фактически нужен GPU. Качество представлений снижается при малом числе валидных наблюдений, а усечение 1024-мерного выхода не даёт осмысленного вложенного представления.

Сценарии применения

  • извлечение признаков пикселей из годовых данных Sentinel-1 и Sentinel-2
  • подготовка целевых представлений для дистилляции компактных моделей дистанционного зондирования
  • исследование пиксельных представлений временных рядов наблюдений Земли

Ограничения

Вычислительная стоимость очень высока: 2,06 млрд параметров обрабатываются на пиксель, поэтому для масштабного извлечения признаков нужны значительные ресурсы и GPU. Представления хуже при малом числе валидных наблюдений, а выход не поддерживает осмысленное усечение по префиксу.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

TESSERA v2 — 2B teacher (2.06 B)

The large-capacity pixel-wise encoder of the TESSERA v2 family. It maps one pixel's annual Sentinel-2 + Sentinel-1 observation history to a 1024-dimensional representation.

Part of the TESSERA v2 release described in TESSERA v2: Scaling Pixel-wise Earth Foundation Models.

[!WARNING] This model is released mainly as a distillation target, not as a deployment model. Inference evaluates 2.06 billion parameters per pixel, which makes tile-scale — let alone global-scale — embedding generation impractical on ordinary hardware; a GPU is effectively required even for modest workloads. If you want TESSERA v2 embeddings for real work, use the distilled students below: they reach comparable downstream quality at a tiny fraction of the compute and storage.

StudentParametersOutput
TESSERA-V-2.0-2B-N1.07 M128-d Matryoshka
TESSERA-V-2.0-2B-S7.11 M128-d Matryoshka
TESSERA-V-2.0-2B-M21.03 M128-d Matryoshka
TESSERA-V-2.0-2B-L43.83 M128-d Matryoshka

Architecture

2,064,266,242 parameters, fp32, 1024-d output.

ComponentConfiguration
S2 backboneband embedding (10 → 4096) + DOY encoding, 4-layer pre-LN Transformer, d_model 4096, 4 heads, FFN 16384, QK-norm on, attention pooling
S1 backboneidentical, band embedding (2 → 4096); ascending + descending share one merged stream
Fusion2 modality tokens + learnable modality embedding → 2-layer Transformer (d_model 4096, FFN 8192) → concat to 8192-d
dim_reducerLinear 8192 → 16384, LayerNorm, ReLU, Dropout, Linear 16384 → 1024, non-affine LayerNorm

The closing non-affine LayerNorm locks the output scale: every representation is exactly mean 0 / std 1 across its 1024 dimensions.

Input contract

[!IMPORTANT] Two conventions here are easy to get wrong, and both fail silently — the model will happily return plausible-looking but meaningless vectors.

1. The Sentinel-2 channel order is not ascending wavelength. It is exactly:

B04  B02  B03  B08  B8A  B05  B06  B07  B11  B12

2. Sentinel-1 uses a single merged stream with pooled statistics. Concatenate ascending and descending along the time axis in raw units, then z-score the merged stream with the pooled S1 constants. Do not z-score ascending and descending separately.

  • Sentinel-2: (T, 10) per pixel, raw L2A reflectance (unscaled DN), plus a (T,) day-of-year array and a (T,) validity mask (1 = clear, 0 = cloud).
  • Sentinel-1: (T, 2) per pixel (VV, VH), raw RTC values, plus day-of-year. All-zero timesteps are treated as missing.
  • Day-of-year is passed as a raw integer 1–365 (not normalized).

infer.py applies all of this internally when standardize=True (the default); the constants live in model.py. Per pixel the valid-observation count is bucketized to the nearest bin in {8, 16, 24, ..., 256} and the series padded or subsampled to that size, matching the training-time procedure.

Usage

from huggingface_hub import snapshot_download
import sys, torch

path = snapshot_download("geotessera/TESSERA-V-2.0-2B-Teacher")
sys.path.insert(0, path)

from model import load_model
from infer import encode_pixels, encode_tile

model = load_model(f"{path}/ckpt/tessera_v2_2B_teacher.pt", torch.device("cuda"))

# Per-pixel time series -> (N, 1024)
emb = encode_pixels(
    model, s2_bands, s2_doys, s2_masks=s2_masks,
    s1_asc_bands=s1_asc, s1_asc_doys=s1_asc_doys,
    s1_desc_bands=s1_desc, s1_desc_doys=s1_desc_doys,
    batch_pixels=512, device=torch.device("cuda"),
    autocast_dtype=torch.bfloat16,     # recommended: halves activation memory
)

# One tile -> (H, W, 1024).  Note the memory and time cost at this scale.
emb_map = encode_tile(model, s2_bands_tile, s2_doys, s2_masks=masks_tile, ...)

Loading the checkpoint needs roughly 8 GB for the weights alone; budget additional memory for activations, and lower batch_pixels if you hit limits. autocast_dtype=torch.bfloat16 is the cheapest lever.

Files

TESSERA-V-2.0-2B-Teacher/
├── model.py          TesseraTeacher2B + load_model()  (torch + numpy only)
├── infer.py          encode_pixels() / encode_tile()
├── requirements.txt  torch>=2.0, numpy>=1.21
└── ckpt/tessera_v2_2B_teacher.pt

The checkpoint is a plain torch.save payload with three keys: encoder_state_dict, arch, and repr_dim. No custom classes are pickled and nothing beyond torch and numpy is needed to load it. load_model uses strict=True — the shipped model.py matches the checkpoint exactly.

nn.RMSNorm requires PyTorch ≥ 2.4.

Intended use and limitations

Intended primarily as a distillation target — the model from which the compact TESSERA v2 students are derived — and as a research artifact for work on large pixel-wise Earth-observation representation models.

Limitations:

  • Cost. 2.06B parameters per pixel. Not suitable for large-scale or production embedding generation; use the distilled students.
  • Representations are annual, 10 m spectral-temporal features — not raw imagery, and not a real-time monitoring product.
  • Quality degrades where a pixel has very few valid observations (persistent cloud, sparse revisit).
  • Output is 1024-d and not Matryoshka-ordered; truncating it to a prefix is not meaningful. The students provide the nested {16, 32, 64, 128} structure.
  • No benchmark scores are quoted here; see the preprint for the evaluation methodology.

License

Released under CC0 1.0 (public domain dedication), matching the rest of the TESSERA release. Use of TESSERA is additionally governed by the project's Acceptable Use Policy.

Citation

@article{tessera_v2_2026,
  title   = {TESSERA v2: Scaling Pixel-wise Earth Foundation Models},
  author  = {Feng, Zhengpeng and Jaffer, Sadiq and Shokar, Ira and
             Knezevic, Jovana and Elvers, Mark and Atzberger, Clement and
             Young, Robin and Naik, Aneesh and Robinson, Niall and
             Blake, Andrew and Coomes, David and Madhavapeddy, Anil and
             Keshav, Srinivasan},
  journal = {arXiv preprint arXiv:2607.03949},
  year    = {2026},
  url     = {https://arxiv.org/abs/2607.03949}
}

Links

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · pytorch · image-feature-extraction

Нельзя запустить

В репозитории нет config.json: не понять архитектуру модели.

Ревизия весов
2cd386f

0 моделей