HAFR-Net checkpoint for LoveDA, evaluated on the official validation split with
single-scale inference (no TTA).
| val mIoU | 55.17 % |
| Weights | EMA shadow model (best_is_ema = True) |
| File | HAFRNet_loveda_best.pth, 477.7 MB (455.6 MiB) |
| SHA-256 | 3e314cfddba9c543d41fdd363f0dfc6fff1b3c78994723e6464c2abcfe1a4df0 |
import torch
ck = torch.load("HAFRNet_loveda_best.pth", map_location="cpu")
print(ck["best_miou"], ck["best_is_ema"]) # 0.5516973671 True
model.load_state_dict(ck["model_state_dict"])
model.eval()The archive stores model_state_dict, best_miou, best_is_ema, epoch and
history, the last holding the per-epoch val_miou, val_class_iou and their EMA
variants for the run.
Top-level keys of the state dict are _swin_full, ssdb_stages, mamba_stages,
proj_pre, hg_saf, fra, soe, decoder and aux_heads, matching the module
names in the paper: hg_saf is HG-SAF, fra is FRA, decoder is CATP, and
ssdb_stages / mamba_stages / soe are the fixed preparation blocks. The
aux_heads tensors are deep-supervision heads used only during training and are not
needed at inference.
Training used the LoveDA recipe of the paper: Swin-B encoder, 512x512 crops at batch
size 8, AdamW with head learning rate 1.2e-4 and backbone learning rate 4e-5 on a
cosine schedule with a 5-epoch warm-up, BF16 with the spectral FFTs in FP32, flip and
90-degree rotation augmentation plus colour jitter 0.4 and Gaussian blur 0.3, an EMA
shadow model with decay 0.999, and early stopping with patience 12.
More context, the full results table and the qualitative figures for all four benchmarks are in the repository README. The remaining checkpoints (Vaihingen, Potsdam, OpenEarthMap) and the training code follow when the paper is accepted.
