Radiance MAE Base v1
Radiance is an open-weight ViT-Base Masked Autoencoder (MAE) foundation model for Sentinel-1 SAR imagery from Stratus Labs. Pretrained self-supervised on the SSL4EO-S12 Sentinel-1 GRD split for 100 epochs, then intended to be fine-tuned for downstream Earth-observation tasks (flood mapping, crop type, deforestation, urban change, etc.).
Radiance is the SAR sibling to Nocturne (Stratus Labs' bioacoustic classifier). Same lab, same open license, different modality.
Model
| Architecture | ViT-B/16 MAE encoder + 8-block ร 512-dim decoder |
| Input | Sentinel-1 GRD, 2 channels (VV + VH), 224 ร 224 patches |
| Patch size | 16 |
| Encoder embed dim | 768 |
| Encoder depth | 12 |
| Encoder heads | 12 |
| Decoder embed dim | 512 |
| Decoder depth | 8 |
| Mask ratio | 0.75 |
| Params | ~110 M (encoder ~86 M) |
Training
- Dataset: SSL4EO-S12 Sentinel-1 GRD split (globally sampled SAR patches, dB-normalised with
S1_MEAN = [-12.577, -20.265],S1_STD = [5.176, 5.870]) - Epochs: 100
- Batch size: 64
- Optimiser: AdamW, lr = 1.5e-4, wd = 0.05, cosine schedule
- Precision: bf16 autocast
- Hardware: 1ร NVIDIA GB10 (DGX Spark) โ ~15 days wall-clock
Final training loss decreased monotonically across all 100 epochs. The epoch_099.pt checkpoint published here is the final-epoch weights.
Usage
import torch
from radiance.model import RadianceMAE # from the training repo; also included in this repo as model.py
ckpt = torch.load("epoch_099.pt", map_location="cpu")
model = RadianceMAE(img_size=224, patch_size=16, in_chans=2)
model.load_state_dict(ckpt["model"])
model.eval()
# Encode a 2-channel SAR patch (VV, VH) shape [B, 2, 224, 224]
with torch.no_grad():
latent, _, _ = model.forward_encoder(sar_patch, mask_ratio=0.0) # no masking at inference
# `latent` is [B, N_patches+1, 768] โ use the CLS token or pool the patch tokens
Files
| File | Purpose |
|---|---|
epoch_099.pt |
Final pretrain weights (1.34 GB, PyTorch state dict) |
config.yaml |
Exact training config used |
model.py |
RadianceMAE architecture (drop into your project or import) |
Intended use
Pretrained backbone for downstream SAR tasks. The v1 release is the foundation model only โ fine-tunes for specific tasks (flood mapping via SEN1Floods11, crop-type segmentation, etc.) will be published as sibling stratus-labs/radiance-*-v1 repos as they land.
Off-the-shelf, you can use Radiance as a feature extractor for any 2-channel SAR patch task by freezing the encoder and training a task head on top.
Limitations
- Input is Sentinel-1 GRD dB-scaled specifically โ other SAR products (SLC, IW, Sentinel-2 optical) are out-of-distribution.
- 224ร224 patch size is fixed for the released weights; other sizes would need re-pretrain.
- No radiometric calibration correction beyond the SSL4EO-S12 dB normalisation.
- No benchmarks yet against other SAR foundation models โ first fine-tune will provide the head-to-head.
Citation
If you use Radiance in research or a product, please cite:
@misc{stratus-labs-radiance-mae-base-v1,
title = {Radiance MAE Base v1: an open Sentinel-1 SAR foundation model},
author = {Stratus Labs},
year = {2026},
publisher = {HuggingFace},
howpublished = {\url{https://huggingface.co/stratus-labs/radiance-mae-base-v1}},
}
License
CC-BY-4.0. Weights, code, and model card are free to use with attribution. SSL4EO-S12 dataset used for pretraining carries its own license โ see wangyi111/SSL4EO-S12.
About Stratus Labs
Stratus Labs ships open-weight foundation models for the natural world. First release: Nocturne (non-bird bioacoustic classifier). Second: Radiance (SAR foundation model, this repo).
- Downloads last month
- -