Chong Shen Ng caa40a2288 | 6 days ago | |
---|---|---|
.. | ||
baseline_template | 2 months ago | |
dasha | 2 months ago | |
depthfl | 2 months ago | |
dev | 10 months ago | |
doc | 6 days ago | |
fedavgm | 2 months ago | |
fedbn | 2 months ago | |
fedmeta | 2 months ago | |
fedmlb | 2 months ago | |
fednova | 2 months ago | |
fedpara | 2 months ago | |
fedper | 2 months ago | |
fedpft | 3 weeks ago | |
fedprox | 2 months ago | |
fedstar | 2 months ago | |
fedvssl | 2 months ago | |
fedwav2vec2 | 2 months ago | |
fjord | 1 week ago | |
flwr_baselines | 1 week ago | |
heterofl | 2 months ago | |
hfedxgboost | 2 months ago | |
moon | 2 months ago | |
niid_bench | 2 months ago | |
tamuna | 2 months ago | |
README.md | 3 months ago |
We are changing the way we structure the Flower baselines. While we complete the transition to the new format, you can still find the existing baselines in the
flwr_baselines
directory. Currently, you can make use of baselines for FedAvg, FedOpt, and LEAF-FEMNIST.
The documentation below has been updated to reflect the new way of using Flower baselines.
Each baseline in this directory is fully self-contained in terms of source code in its own directory. In addition, each baseline uses its very own Python environment as designed by the contributors of such baseline in order to replicate the experiments in the paper. Each baseline directory contains the following structure:
baselines/<baseline-name>/
├── README.md
├── pyproject.toml
└── <baseline-name>
├── *.py # several .py files including main.py and __init__.py
└── conf
└── *.yaml # one or more Hydra config files
Please note that some baselines might include additional files (e.g. a requirements.txt
) or a hierarchy of .yaml
files for Hydra.
Each baseline is self-contained in its own directory. Furthermore, each baseline defines its own Python environment using Poetry via a pyproject.toml
file and pyenv
. If you haven't setup Poetry
and pyenv
already on your machine, please take a look at the Documentation for a guide on how to do so.
Assuming pyenv
and Poetry
are already installed on your system. Running a baseline can be done by:
Cloning the flower repository
git clone https://github.com/adap/flower.git && cd flower
Navigate inside the directory of the baseline you'd like to run.
Follow the [Environment Setup]
instructions in the README.md
. In most cases this will require you to just do:
poetry install
Run the baseline as indicated in the [Running the Experiments]
section in the README.md
or in the [Expected Results]
section to reproduce the experiments in the paper.
Do you have a new federated learning paper and want to add a new baseline to Flower? Or do you want to add an experiment to an existing baseline paper? Great, we really appreciate your contribution !!
The steps to follow are:
Fork the Flower repo and clone it into your machine.
Navigate to the baselines/
directory, choose a single-word (and lowercase) name for your baseline, and from there run:
# This will create a new directory with the same structure as `baseline_template`.
./dev/create-baseline.sh <baseline-name>
Then, go inside your baseline directory and continue with the steps detailed in EXTENDED_README.md
and README.md
.
Once your code is ready and you have checked that following the instructions in your README.md
the Python environment can be created correctly and that running the code following your instructions can reproduce the experiments in the paper, you just need to create a Pull Request (PR). Then, the process to merge your baseline into the Flower repo will begin!
Further resources:
No Description
Text Python C++ Jupyter Notebook CSV other
Dear OpenI User
Thank you for your continuous support to the Openl Qizhi Community AI Collaboration Platform. In order to protect your usage rights and ensure network security, we updated the Openl Qizhi Community AI Collaboration Platform Usage Agreement in January 2024. The updated agreement specifies that users are prohibited from using intranet penetration tools. After you click "Agree and continue", you can continue to use our services. Thank you for your cooperation and understanding.
For more agreement content, please refer to the《Openl Qizhi Community AI Collaboration Platform Usage Agreement》