Skip to content

tum-pbs/CRAFT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CRAFT: Conflict-Resolved Aggregation for
Federated Training

Read on arXiv

CRAFT accuracy curves

Overview

This repository implements CRAFT, a federated learning framework designed for robust global aggregation under heterogeneous client data distributions. The current training pipeline supports CRAFT as the server-side aggregation algorithm and integrates configurable client sampling, local training, data partitioning, evaluation, and result logging. For more details, please refer to our paper.

Repository structure

.
├── main_train.py          # Training entry point
├── fed/
│   ├── craft.py           # CRAFT aggregation
│   ├── server.py          # Federated server
│   ├── client.py          # Federated client
│   ├── federate.py        # Federated training loop
│   ├── dataset.py         # Dataset loading and partitioning
│   └── nets.py            # Model definitions
├── utils/
│   ├── args.py            # CLI argument parsing
│   ├── config.yaml        # Experiment configuration
│   └── utils.py           # Shared utilities
├── dataset/               # Dataset files and assets
├── results/               # Result analysis utilities 

Usage

Run a single CRAFT experiment using the YAML configuration:

python main_train.py --cfg utils/config.yaml

Citation

If this code is useful for your research, please cite the paper:

@article{wang2026CRAFT,
  author={Ziqi Wang and Qiang Liu and Nils Thuerey},
  title={CRAFT: Conflict-Resolved Aggregation for Federated Training}, 
  eprint={2605.21317},
  archivePrefix={arXiv},
  url={https://arxiv.org/abs/2605.21317}, 
}

Acknowledgments

Funded by the European Union's Horizon Europe MSCA project ModConFlex (grant number 101073558)

ModConFlex Funded by the EU

About

Conflict-Resolved Aggregation for Federated Training

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages