VHL
ICML2022: Virtual Homogeneity Learning: Defending against Data Heterogeneity in Federated Learning
Install / Use
/learn @wizard1203/VHLREADME
VHL
Code Structure.
The algorithms_standalone folder includes implementations of FedAvg and other algorithms.
The data_preprocessing folder includes IID dataloader and non-IID dataloder.
The fedml_core folder includes the low-level communication core. But for the standalone simulation, we do not need them.
The model folder includes the architectures of deep neural networks.
The experiments folder includes the configs of different algorithms and launch files of experiments.
All hyper-parameters are identified in configs/default.py.
Launch Experiments.
The experiments/main_args.conf includes the default hyper-parameters.
The experiments/configs_algorithm includes the configuration hyper-parameters of the specific algorithms.
The experiments/configs_system includes the configuration hyper-parameters related to the running environment. This is designed for users' convenience of no need to specifying Python Path and Data Dir when launching experiments every time.
To launch experiments, you can cd experiments/standlone. And type ./launch_standalone.sh to run the simple FedAvg code. You can type dataset=cifar10 partition_alpha=0.1 partition_method=hetero ./launch_standalone.sh to set the dataset as CIFAR-10 and the a=0.1 of LDA partition method.
To launch VHL, you can refer to experiments/standlone/VHL_exp/Exp.md for more information, in which we offer all scripts of launching baseline and VHL experiments.
Wandb Usage
If you do not want to use wandb for recording, you can add wandb_record=False in to the command. Then you don't need to install and config wandb.
Related Skills
YC-Killer
2.7kA library of enterprise-grade AI agents designed to democratize artificial intelligence and provide free, open-source alternatives to overvalued Y Combinator startups. If you are excited about democratizing AI access & AI agents, please star ⭐️ this repository and use the link in the readme to join our open source AI research team.
best-practices-researcher
The most comprehensive Claude Code skills registry | Web Search: https://skills-registry-web.vercel.app
groundhog
400Groundhog's primary purpose is to teach people how Cursor and all these other coding agents work under the hood. If you understand how these coding assistants work from first principles, then you can drive these tools harder (or perhaps make your own!).
last30days-skill
19.1kAI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary
