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():
    cls, patches = model.encode(sar_patch)   # cls: [B, 768]; patches: [B, 196, 768] in RASTER order
    # patches.transpose(1, 2).reshape(B, 768, 14, 14) is the feature grid for any dense head

Use encode() for downstream features, not forward_encoder(). MAE's random_masking returns the kept tokens in a random permutation even at mask_ratio = 0 (the pretrain decoder restores order with ids_restore). Reshaping forward_encoder output into the patch grid scrambles spatial positions; our first flood fine-tune shipped with exactly that bug (see the SEN1Floods11 card). encode() un-shuffles for you and is deterministic. Added to model.py 2026-09-06.

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 incl. encode() for raster-ordered downstream features (drop into your project or import)

Intended use

Pretrained backbone for downstream SAR tasks. First downstream head: stratus-labs/radiance-sen1floods11-v1 (v2, 2026-09-06) โ€” binary flood segmentation, held-out test flood IoU 0.598, out-of-region (bolivia) 0.651, with per-chip breakdown on the card. Further heads (crop type, change detection) will be published as sibling stratus-labs/radiance-* repos.

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.
  • One downstream benchmark so far (SEN1Floods11 flood segmentation: test IoU 0.598 with a light head, S1-only, center-crop protocol); no head-to-head against other SAR foundation models under a shared protocol yet.

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).

Research page

The write-up and every Radiance release, in one place: https://runstratus.com/research/radiance-mae-base-v1-sentinel1-sar

Downloads last month
11
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for stratus-labs/radiance-mae-base-v1

Finetunes
1 model