{"id":13752002,"url":"https://github.com/owkin/FLamby","last_synced_at":"2025-05-09T18:33:12.700Z","repository":{"id":57752877,"uuid":"463146427","full_name":"owkin/FLamby","owner":"owkin","description":"Cross-silo Federated Learning playground in Python. Discover 7 real-world federated datasets to test your new FL strategies and try to beat the leaderboard.  ","archived":false,"fork":false,"pushed_at":"2024-06-19T10:04:16.000Z","size":71271,"stargazers_count":205,"open_issues_count":24,"forks_count":24,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-12-02T14:50:32.619Z","etag":null,"topics":["dataset","deep-learning","differential-privacy","federated-learning","healthcare","machine-learning","python"],"latest_commit_sha":null,"homepage":"https://owkin.github.io/FLamby/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/owkin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-24T12:49:40.000Z","updated_at":"2024-11-29T07:52:04.000Z","dependencies_parsed_at":"2023-12-20T11:26:55.910Z","dependency_job_id":"1005f37d-5f7b-4134-afcb-371abf02845a","html_url":"https://github.com/owkin/FLamby","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owkin%2FFLamby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owkin%2FFLamby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owkin%2FFLamby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owkin%2FFLamby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/owkin","download_url":"https://codeload.github.com/owkin/FLamby/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253303229,"owners_count":21886912,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dataset","deep-learning","differential-privacy","federated-learning","healthcare","machine-learning","python"],"created_at":"2024-08-03T09:00:58.081Z","updated_at":"2025-05-09T18:33:07.668Z","avatar_url":"https://github.com/owkin.png","language":"Python","funding_links":[],"categories":["Ranked by starred repositories"],"sub_categories":[],"readme":"# FLamby\n## Updates\n- (January 2024) :warning: Please checkout [FLamby's 0.1.0 recent release](https://github.com/owkin/FLamby/releases/tag/0.1.0), which introduces changes to the Fed-Camelyon16 benchmark as well as fixes some reproducibility issue across datasets :warning:\n\n- (May 2024) :blue_heart: Checkout this [super cool tutorial in Fed-BioMed](https://fedbiomed.org/latest/tutorials/concrete-ml/concrete-ml/) done with Zama's [concrete-ML](https://github.com/zama-ai/concrete-ml) to add another layer of privacy to FL. :blue_heart:\n\n- (June 2024) :fire: :fire: :fire: Now FLamby has [a proof of concept integration](https://benchopt.github.io/results/) with [BenchOpt](https://benchopt.github.io/). This should allow easier benchmarking of new federated strategies on FLamby's datasets. Come and fork the [benchopt code](https://github.com/owkin/benchmark_flamby) ! :fire: :fire: :fire:\n\n\n\u003cimg src=\"/docs/logo.png\" width=\"600\"\u003e\n\n\n## Table of Contents\n- [Overview](#overview)\n- [Dataset suite](#dataset-suite)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Contributing](#contributing)\n- [FAQ](#FAQ)\n- [Team](#team)\n- [Acknowledgements](#acknowledgements)\n\n\n## Overview\n\n:arrow_right:[The API doc is available here](https://owkin.github.io/FLamby):arrow_left:\n\nFLamby is a benchmark for cross-silo Federated Learning with natural partitioning,\ncurrently focused in healthcare applications.\nIt spans multiple data modalities and should allow easy interfacing with most\nFederated Learning frameworks (including [Fed-BioMed](https://gitlab.inria.fr/fedbiomed/fedbiomed), [FedML](https://github.com/FedML-AI/FedML), [Substra](https://docs.substra.org/en/stable/)...).\nIt contains implementations of different\nstandard federated learning strategies.\nA [companion paper](https://proceedings.neurips.cc/paper_files/paper/2022/file/232eee8ef411a0a316efa298d7be3c2b-Paper-Datasets_and_Benchmarks.pdf)\ndescribing it was published at NeurIPS 2022 in the Datasets \u0026 Benchmarks track.\n\nThe FLamby package contains:\n\n- Data loaders that automatically handle data preprocessing and partitions of distributed datasets.\n- Evaluation functions to evaluate trained models on the different tracks as defined in the companion paper.\n- Benchmark code using the utilities below to obtain the performances of baselines using different strategies.\n\nIt does not contain datasets, which have to be downloaded separately (see the section below).\n\nFLamby was tested on Ubuntu and MacOS environment. If you are facing any problems installing or executing FLamby code\nplease help us improve it by filing an issue on FLamby github page ensuring to explain it in detail.\n\n## Dataset suite\nFLamby is a dataset **suite** instead of a repository.\nWe provide code to easily access existing datasets stored in other repositories.\nIn particular, we do not distribute datasets in this repository,\nand we do not own copyrights on any of the datasets.\n\n**The use of any of the datasets\nincluded in FLamby requires accepting its corresponding license on the original\nwebsite.** We refer to each dataset's README for more details.\n\nFor any problem or question with respect to any license related matters,\nplease open a github issue on this repository.\n\n## Installation\n\nWe recommend using anaconda and pip. You can install anaconda by downloading and executing appropriate installers from the [Anaconda website](https://www.anaconda.com/products/distribution), pip often comes included with python otherwise check [the following instructions](https://pip.pypa.io/en/stable/installation/). We support all Python version starting from **3.8**.\n\nYou may need `make` for simplification. The following command will install all packages used by all datasets within FLamby. If you already know you will only need a fraction of the datasets inside the suite you can do a partial installation and update it along the way using the options described below.\nCreate and launch the environment using:\n\n```bash\ngit clone https://github.com/owkin/FLamby.git\ncd FLamby\nmake install\nconda activate flamby\n```\n\nTo limit the number of installed packages you can use the `enable` argument to specify which dataset(s)\nyou want to build required dependencies for and if you need to execute the tests (tests) and build the documentation (docs):\n\n```bash\ngit clone https://github.com/owkin/FLamby.git\ncd FLamby\nmake enable=option_name install\nconda activate flamby\n```\n\nwhere `option_name` can be one of the following:\ncam16, heart, isic2019, ixi, kits19, lidc, tcga, docs, tests\n\nif you want to use more than one option you can do it using comma\n(**WARNING:** there should be no space after `,`), eg:\n\n```bash\ngit clone https://github.com/owkin/FLamby.git\ncd FLamby\nmake enable=cam16,kits19,tests install\nconda activate flamby\n```\nBe careful, each command tries to create a conda environment named flamby therefore make install will fail if executed\nnumerous times as the flamby environment will already exist. Use `make update` as explained in the next section if you decide to\nuse more datasets than intended originally.\n\n### Update environment\nUse the following command if new dependencies have been added, and you want to update the environment for additional datasets:\n```bash\nmake update\n```\n\nor you can use `enable` option:\n```bash\nmake enable=cam16 update\n```\n\n\n### In case you don't have the `make` command (e.g. Windows users)\nYou can install the environment by running:\n```bash\ngit clone https://github.com/owkin/FLamby.git\ncd FLamby\nconda env create -f environment.yml\nconda activate flamby\npip install -e .[all_extra]\n```\n\nor if you wish to install the environment for only one or more datasets, tests or documentation:\n```bash\ngit clone https://github.com/owkin/FLamby.git\ncd FLamby\nconda env create -f environment.yml\nconda activate flamby\npip install -e .[option_name]\n```\n\nwhere `option_name` can be one of the following:\ncam16, heart, isic2019, ixi, kits19, lidc, tcga, docs, tests. If you want to use more than one option you can do it\nusing comma (`,`) (no space after comma), eg:\n```bash\npip install -e .[cam16,ixi]\n```\n\n### Accepting data licensing\nThen proceed to read and accept the different licenses and download the data from\nall the datasets you are interested in by following the instructions provided in each folder:\n- [Fed-Camelyon16](./flamby/datasets/fed_camelyon16/README.md)\n- [Fed-LIDC-IDRI](./flamby/datasets/fed_lidc_idri/README.md)\n- [Fed-ISIC2019](./flamby/datasets/fed_isic2019/README.md)\n- [Fed-TCGA-BRCA](./flamby/datasets/fed_tcga_brca/README.md)\n- [Fed-Heart-Disease](./flamby/datasets/fed_heart_disease/README.md)\n- [Fed-IXITiny](./flamby/datasets/fed_ixi/README.md)\n- [Fed-KITS2019](./flamby/datasets/fed_kits19/README.md)\n\n## Quickstart\n\nFollow the [quickstart section](./Quickstart.md) to learn how to get started with FLamby.\n\n## Reproduce benchmark and figures from the companion article\n\n### Benchmarks\nThe results are stored in flamby/results in corresponding subfolders `results_benchmark_fed_dataset` for each dataset.\nThese results can be plotted using:\n```\npython plot_results.py\n```\nwhich produces the plot at the end of the main article.\n\nIn order to re-run each of the benchmark on your machine, first download the dataset you are interested in and then run the following command replacing `config_dataset.json` by one of the listed config files (`config_camelyon16.json`, `config_heart_disease.json`, `config_isic2019.json`, `config_ixi.json`, `config_kits19.json`, `config_lidc_idri.json`, `config_tcga_brca.json`):\n```\ncd flamby/benchmarks\npython fed_benchmark.py --seed 42 -cfp ../config_dataset.json\npython fed_benchmark.py --seed 43 -cfp ../config_dataset.json\npython fed_benchmark.py --seed 44 -cfp ../config_dataset.json\npython fed_benchmark.py --seed 45 -cfp ../config_dataset.json\npython fed_benchmark.py --seed 46 -cfp ../config_dataset.json\n```\nWe have observed that results vary from machine to machine and are sensitive to GPU randomness. However you should be able to reproduce the results up to some variance and results on the same machine should be perfecty reproducible. Please open an issue if it is not the case.\nThe script `extract_config.py` allows to go from a results file to a `config.py`.\nSee the [quickstart section](./Quickstart.md) to change parameters.\n\n## Containerized execution\n\nA good step towards float-perfect reproducibility in your future benchmarks is to use docker. We give a base docker image and examples containing dataset download and benchmarking.\nFor [Fed-Heart-Disease](./flamby/datasets/fed_heart_disease/README.md), cd to the flamby dockers folder, replace `myusername` and `mypassword` with your git credentials (OAuth token) in the command below and run:\n```\ndocker build -t flamby-heart -f Dockerfile.base --build-arg DATASET_PREFIX=\"heart\" --build-arg GIT_USER=\"myusername\" --build-arg GIT_PWD=\"mypassword\" .\ndocker build -t flamby-heart-benchmark -f Dockerfile.heart .\ndocker run -it flamby-heart-benchmark\n```\nIf you are convinced you will use many datasets with docker, build the base image using `all_extra` option for flamby's install, you will be able to reuse it for all datasets with multi-stage build:\n```\ndocker build -t flamby-all -f Dockerfile.base --build-arg DATASET_PREFIX=\"all_extra\" --build-arg GIT_USER=\"myusername\" --build-arg GIT_PWD=\"mypassword\" .\n# modify Dockerfile.* line 1 to FROM flamby-all by replacing * with the dataset name of the dataset you are interested in\n# Then run the following command replacing * similarly\n#docker build -t flamby-* -f Dockerfile.* .\n#docker run -it flamby-*-benchmark\n```\n\nCheckout `Dockerfile.tcga`.\nSimilar dockerfiles can be theoretically easily built for the other datasets as well by\nreplicating instructions found in each dataset folder following the model of `Dockerfile.heart`.\nNote that for bigger datasets execution can be prohibitively slow and docker can run out of time/memory.\n\n\n\n### Using FLamby with FL-frameworks\n\nFLamby can be easily adapted to different frameworks as the pytorch abstractions\nare quite flexible.\nWe give an example of interfacing with [Fed-BioMed](https://gitlab.inria.fr/fedbiomed/fedbiomed) [here](./integration/fedbiomed/flamby-integration-into-fedbiomed.md), another one with [FedML](https://github.com/FedML-AI/FedML), [here](./integration/fedbiomed/flamby-integration-into-fedbml.md) and last one with [Substra](https://docs.substra.org/en/stable/) [there](./integration/Substra/flamby-integration-into-substra.md).\nAll major FL-frameworks should be compatible with FLamby modulo some glue code.\nIf you have a working example of using FLamby with another FL-framework please open a PR.\n\n### Heterogeneity plots\n\nMost plots from the article can be reproduced using the following commands after having downloaded the corresponding datasets:\n- [Fed-TCGA-BRCA](./flamby/datasets/fed_tcga_brca/README.md)\n```\ncd flamby/datasets/fed_tcga_brca\npython plot_kms.py\n```\n- [Fed-LIDC-IDRI](./flamby/datasets/fed_lidc_idri/README.md)\n```\ncd flamby/datasets/fed_lidc_idri\npython lidc_heterogeneity_plot.py\n```\n- [Fed-ISIC2019](./flamby/datasets/fed_isic2019/README.md)\n\n**In order to exactly reproduce the plot in the article**, one needs to first deactivate color constancy normalization when preprocessing the dataset (change `cc` to `False` in `resize_images.py`) when following download and preprocessing instructions [here](./flamby/datasets/fed_isic2019/README.md).  Hence one might have to download the dataset a second time, if it was already downloaded, and therefore to potentially update `dataset_location.yaml` files accordingly.\n```\ncd flamby/datasets/fed_isic2019\npython heterogeneity_pic.py\n```\n- [Fed-IXITiny](./flamby/datasets/fed_ixi/README.md)\n```\ncd flamby/datasets/fed_ixi\npython ixi_plotting.py\n```\n- [Fed-KITS2019](./flamby/datasets/fed_kits19/README.md)\n```\ncd flamby/datasets/fed_kits19/dataset_creation_scripts\npython kits19_heterogenity_plot.py\n```\n- [Fed-Heart-Disease](./flamby/datasets/fed_heart_disease/README.md)\n```\ncd flamby/datasets/fed_heart_disease\npython heterogeneity_plot.py\n```\n- [Fed-Camelyon16](./flamby/datasets/fed_camelyon16/README.md)\n\nFirst concatenate as many 224x224 image patches extracted from regions on the slides containing matter from Hospital 0 and Hospital 1 (see what is done in the [tiling script](./flamby/datasets/fed_camelyon16/dataset_creation_scripts/tiling_slides.py) to collect image patches) as can be fit in\nthe RAM. Then compute both histograms **per-color-channel** using 256 equally sized bins with the `np.histogram`\nfunction with `density=True`.\nThen save the results respectively as: histogram_0.npy, histogram_1.npy and bins_0.npy\n```\ncp -t flamby/datasets/fed_camelyon16 histograms_{0, 1}.npy bins_0.npy\ncd flamby/datasets/fed_camelyon16\npython plot_camelyon16_histogram.py\n```\n\n## Deploy documentations\n\nWe use [sphinx](https://www.sphinx-doc.org/en/master/) to create FLamby's documentation.\nIn order to build the doc locally, activate the environment then:\n```bash\ncd docs\nmake clean\nmake html\n```\nThis will generate html pages in the folder _builds/html that can be accessed in your browser:\n```bash\nopen _build/html/index.html\n```\n## Contributing\n\n### Extending FLamby\n\nFLamby is a living project and contributions by the FL community are welcome.\n\nIf you would like to add another cross-silo dataset **with natural splits**,\nplease fork the repository\nand do a Pull-Request following the guidelines described below.\n\nSimilarly, you can propose pull requests introducing novel training algorithms\nor models.\n\n### Guidelines\n\nAfter installing the package in dev mode (``pip install -e .[all_extra]``)\nYou should also initialize ``pre-commit`` by running:\n```\npre-commit install\n```\n\nThe ``pre-commit`` tool will automatically run [black](https://github.com/psf/black) and\n[isort](https://github.com/PyCQA/isort) and check [flake8](https://flake8.pycqa.org/en/latest/) compatibility.\nWhich will format the code automatically making the code more homogeneous and helping catching typos and errors.\n\nLooking and or commenting the open issues is a good way to start. Once you have found a way to contribute the next steps are:\n- Following the installation instructions but using the -e option when pip installing\n- Installing pre-commit\n- Creating a new branch following the convention name_contributor/short_explicit_name-wpi: `git checkout -b name_contributor/short_explicit_name-wpi`\n- Potentially pushing the branch to origin with : `git push origin name_contributor/short_explicit_name-wpi`\n- Working on the branch locally by making commits frequently: `git commit -m \"explicit description of the commit's content\"`\n- Once the branch is ready or after considering you have made significant progresses opening a Pull Request using Github interface, selecting your branch as a source and the target to be the main branch and creating the PR **in draft mode**  after having made **a detailed description of the content of the PR** and potentially linking to related issues.\nRebasing the branch onto main by doing `git fetch origin` and  `git rebase origin/main`, solving potential conflicts adding the resolved files `git add myfile.py`\nthen continuing with `git rebase --continue` until the rebase is complete. Then pushing the branch to origin with `git push origin --force-with-lease`.\n- Waiting for reviews then commiting and pushing changes to comply with the reviewer's requests\n- Once the PR is approved click on the arrow on the right of the merge button to select rebase and click on it\n\n\n# FAQ\n### How can I do a clean slate?\nTo clean the environment you must execute (after being inside the FLamby folder `cd FLamby/`):\n```bash\nconda deactivate\nmake clean\n```\n\n### I get an error when installing Flamby\n#### error: [Errno 2] No such file or directory: 'pip'\nTry running:\n```bash\nconda deactivate\nmake clean\npip3 install --upgrade pip\n```\nand try running your make installation option again.\n\n### I am installing Flamby on a machine equipped with macOS and an intel processor\nIn that case, you should use\n```bash\nmake install-mac\n```\ninstead of the standard installation. If you have already installed the flamby environment, just run\n```bash\nconda deactivate\nmake clean\n```\nbefore running the install-mac installation again. This is to avoid the following error, which will appear when running scripts.\n#### error : OMP: Error #15\n\n### I or someone else already downloaded a dataset using another copy of the flamby repository, my copy of flamby cannot find it and I don't want to download it again, what can I do ?\n\nThere are two options. The safest one is to cd to the flamby directory and run:\n```\npython create_dataset_config.py --dataset-name fed_camelyon16 OR fed_heart_disease OR ... --path /path/where/the/dataset/is/located\n```\nThis will create the required `dataset_location.yaml` file in your copy of the repository allowing FLamby to find it.\n\nOne can also directly pass the `data_path` argument when instantiating the dataset but this is not recommended.\n```python\nfrom flamby.datasets.fed_heart_disease import FedHeartDisease\ncenter0 = FedHeartDisease(center=0, train=True, data_path=\"/path/where/the/dataset/is/located\")\n```\n### Collaborative work on FLamby: I am working with FLamby on a server with other users, how can we share the datasets efficiently ?\n\nThe basic answer is to use the answer just above to recreate the config file in every copy of the repository.\n\nIt can possibly become more seamless in the future if we introduce checks for environment variables in FLamby, which would allow to setup a general server-wise config so that all users of the server have access to all needed paths.\nIn the meantime one can fill/comment the following bash script after downloading the dataset and share it with all users of the server:\n\n```bash\npython create_dataset_config.py --dataset-name fed_camelyon16 --path TOFILL\npython create_dataset_config.py --dataset-name fed_heart_disease --path TOFILL\npython create_dataset_config.py --dataset-name fed_lidc_idri --path TOFILL\npython create_dataset_config.py --dataset-name fed_kits19 --path TOFILL\npython create_dataset_config.py --dataset-name fed_isic2019 --path TOFILL\npython create_dataset_config.py --dataset-name fed_ixi --path TOFILL\n```\nWhich allows users to set all necessary paths in their local copies.\n\n### Can I run clients in different threads with FLamby? How does it run under the hood?\n\nFLamby is a lightweight and simple solution, designed to allow researchers\nto quickly use cleaned datasets with a standard API.\nAs a consequence, the benchmark code performing the FL simulation is minimalistic.\nAll clients run sequentially in the same python environment, without multithreading.\nDatasets are assigned to clients as different python objects.\n\n### Does FLamby support GPU acceleration?\n\nFLamby supports GPU acceleration thanks to the underlying deep learning backend\n(pytorch for now).\n\n## Team\n\nThis repository was made possible thanks to numerous contributors.\nWe list them in the order of the companion article, following the [CREDIT framework](https://credit.niso.org/):\n[Jean Ogier du Terrail](https://github.com/jeandut), [Samy-Safwan Ayed](https://github.com/AyedSamy), [Edwige Cyffers](https://github.com/totilas), [Felix Grimberg](https://github.com/Grim-bot), [Chaoyang He](https://github.com/chaoyanghe), [Régis Loeb](https://github.com/regloeb), [Paul Mangold](https://github.com/pmangold), [Tanguy Marchand](https://github.com/tanguy-marchand), [Othmane Marfoq](https://github.com/omarfoq/), [Erum Mushtaq](https://github.com/ErumMushtaq), [Boris Muzellec](https://github.com/BorisMuzellec), [Constantin Philippenko](https://github.com/philipco), [Santiago Silva](https://github.com/sssilvar), [Maria Telenczuk](https://github.com/maikia), [Shadi Albarqouni](https://albarqouni.github.io/), [Salman Avestimehr](https://www.avestimehr.com/), [Aurélien Bellet](http://researchers.lille.inria.fr/abellet/), [Aymeric Dieuleveut](http://www.cmap.polytechnique.fr/~aymeric.dieuleveut/), [Martin Jaggi](https://people.epfl.ch/martin.jaggi), [Sai Praneeth Karimireddy](https://github.com/Saipraneet), [Marco Lorenzi](https://marcolorenzi.github.io/publications.html), [Giovanni Neglia](http://www-sop.inria.fr/members/Giovanni.Neglia/publications.htm), [Marc Tommasi](http://researchers.lille.inria.fr/tommasi/#publications), [Mathieu Andreux](https://github.com/mandreux-owkin).\n\n## Acknowledgements\nFLamby was made possible thanks to the support of the following institutions:\n- [Owkin](https://www.owkin.com)\n- [Inria](https://www.inria.fr)\n- [Ecole polytechnique](https://www.polytechnique.edu)\n- [University of California - Berkeley](https://www.berkeley.edu/)\n- [University of Southern California (USC)](https://www.usc.edu/)\n- [EPFL](https://www.epfl.ch)\n- [Universitätsklinikum Bonn](https://www.ukbonn.de/patient_innen/international/english/)\n\n\u003cimg src=\"docs/img/Owkin_Logo_Black.png\" alt=\"owkin-logo\" width=\"200\"/\u003e\u003cimg src=\"docs/img/inr_logo_rouge.jpg\" alt=\"inria-logo\" width=\"200\"/\u003e\u003cimg src=\"docs/img/ecole_polytechnique.png\" alt=\"ecole-polytechnique-logo\" width=\"200\"/\u003e\u003cimg src=\"docs/img/Berkeley_wordmark_blue.png\" alt=\"berkeley-logo\" width=\"200\"/\u003e\n\u003cimg src=\"docs/img/usc-logo.png\" alt=\"usc-logo\" width=\"200\"/\u003e\u003cimg src=\"docs/img/logo-epfl-1024x576.png\" alt=\"epfl-logo\" width=\"200\"/\u003e\u003cimg src=\"docs/img/ukb-logo.png\" alt=\"ukb-logo\" width=\"200\"/\u003e\n\n## Citing FLamby\n\n```bibtex\n@inproceedings{NEURIPS2022_232eee8e,\n author = {Ogier du Terrail, Jean and Ayed, Samy-Safwan and Cyffers, Edwige and Grimberg, Felix and He, Chaoyang and Loeb, Regis and Mangold, Paul and Marchand, Tanguy and Marfoq, Othmane and Mushtaq, Erum and Muzellec, Boris and Philippenko, Constantin and Silva, Santiago and Tele\\'{n}czuk, Maria and Albarqouni, Shadi and Avestimehr, Salman and Bellet, Aur\\'{e}lien and Dieuleveut, Aymeric and Jaggi, Martin and Karimireddy, Sai Praneeth and Lorenzi, Marco and Neglia, Giovanni and Tommasi, Marc and Andreux, Mathieu},\n booktitle = {Advances in Neural Information Processing Systems},\n editor = {S. Koyejo and S. Mohamed and A. Agarwal and D. Belgrave and K. Cho and A. Oh},\n pages = {5315--5334},\n publisher = {Curran Associates, Inc.},\n title = {FLamby: Datasets and Benchmarks for Cross-Silo Federated Learning in Realistic Healthcare Settings},\n url = {https://proceedings.neurips.cc/paper_files/paper/2022/file/232eee8ef411a0a316efa298d7be3c2b-Paper-Datasets_and_Benchmarks.pdf},\n volume = {35},\n year = {2022}\n}\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fowkin%2FFLamby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fowkin%2FFLamby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fowkin%2FFLamby/lists"}