Official implementation of “SUM: Unified Geometric Surgery on Spatio-Temporal Adaptation Vectors for Federated Class-Incremental Learning”, accepted to ECCV 2026.
Jaeik Kim · Jaeyoung Do
IPAI & ECE, Seoul National University · AIDAS Lab
SUM treats spatial client drift and temporal task forgetting as directional interactions between adaptation vectors. It performs:
- Spatial SUM across client updates within each communication round.
- Temporal SUM across accumulated task updates.
- Inference-ready module construction using a sparse unified direction and task-specific masks and scales.
The implementation is built on the latest Fed-Mammoth framework. SUM runs entirely on the server and requires no additional client optimization, communication, replay, or exemplar memory.
Python 3.10 or newer is recommended.
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txtRun full-parameter SUM on CIFAR-100:
./scripts/run_sum.shRun the LoRA variant:
./scripts/run_sum_lora.shThe scripts call main.py, default to CPU for portability, and accept environment-variable or CLI overrides:
DATASET=seq-clinc150 NETWORK=bert DEVICE=cuda:0 ./scripts/run_sum.shNETWORK=convnext DISTRIBUTION_ALPHA=0.1 ./scripts/run_sum.sh \
--lr 0.00001 --tvs_scale_factor 0.4Supported paper-relevant backbones include vit, vit_small, vit_large, vit_huge, convnext, resnet18, resnet50, t5, and bert. Language experiments support seq-20ng and seq-clinc150.
| Argument | Default | Meaning |
|---|---|---|
lr |
1e-5 |
Local learning rate |
z_threshold |
4.5 |
Spatial trimming threshold |
tvs_scale_factor |
0.4 |
Spatial client-vector scale |
owner_k_pct |
0.05 |
Temporal top-k sparsification ratio |
tvs_projection_mode |
both |
Suppress positive and negative directional interactions |
round_lr_gamma |
0.4 |
Per-round learning-rate decay |
emr_granularity |
global |
Inference-module mask granularity |
use_head_regmean |
True |
Use the RegMean-style classifier-head merger |
Dataset-specific hyperparameters reported in the paper can be supplied as CLI overrides. For example:
python main.py \
--model sum \
--dataset seq-cifar100 \
--network vit \
--batch_size 16 \
--lr 0.00001 \
--distribution_alpha 0.05 \
--num_epochs 5 \
--num_comm_rounds 5 \
--num_clients 10 \
--z_threshold 4.5 \
--tvs_scale_factor 0.6 \
--owner_k_pct 0.05During evaluation, the training loop detects SUM's task_modulators, applies the corresponding task-specific inference module, evaluates that task, and restores the global training model before continuing. Other Fed-Mammoth methods retain their original evaluation behavior.
When output saving is enabled, the accumulated inference state is written to:
sum_inference_modules.ptfor full-parameter SUM.sum_lora_inference_modules.ptfor SUM-LoRA.
SUM uses sequential spatial projection with reference-based Z-score trimming, online temporal basis construction, the Elect-Sign rule, and RegMean-style classifier-head merging.
python -m pip install -r requirements-dev.txt
pytest -qThis repository incorporates the MIT-licensed Fed-Mammoth framework. Its original license and copyright notice are retained in LICENSE.
@article{kim2026sum,
title = {SUM: Unified Geometric Surgery on Spatio-Temporal Adaptation Vectors for Federated Class-Incremental Learning},
author = {Kim, Jaeik and Do, Jaeyoung},
journal = {arXiv preprint arXiv:2607.19384},
year = {2026}
}