FLamby
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.
File Explorer
Download Latest Version (.zip)- documentation.yml
- linting.yml
- pr_validation.yml
- CODEOWNERS
- Dockerfile.base
- Dockerfile.heart
- Dockerfile.tcga
- Berkeley_wordmark_blue.png
- ecole_polytechnique.png
- inr_logo_rouge.jpg
- logo-epfl-1024x576.png
- Owkin_Logo_Black.png
- ukb-logo.png
- usc-logo.png
- conf.py
- contributing.rst
- datasets.rst
- docker.rst
- faq.rst
- fed_camelyon.rst
- fed_heart.rst
- fed_isic.rst
- fed_ixi.rst
- fed_kits19.rst
- fed_lidc.rst
- fed_tcga_brca.rst
- fedbiomed.rst
- fedml.rst
- index.rst
- installation.rst
- logo.png
- Makefile
- output_27_0.png
- quickstart.rst
- reproducing.rst
- strategies.rst
- substra.rst
- __init__.py
- benchmark_utils.py
- conf.py
- fed_benchmark.py
- __init__.py
- download.py
- google_client.py
- test_slides_links_drive.csv
- tiling_coordinates_camelyon16.csv
- tiling_slides.py
- training_slides_links_drive.csv
- update_config.py
- metadata.csv
- reference.csv
- __init__.py
- benchmark.py
- common.py
- dataset.py
- labels.csv
- loss.py
- metric.py
- model.py
- plot_camelyon16_histogram.py
- README.md
- __init__.py
- download.py
- update_config.py
- __init__.py
- benchmark.py
- common.py
- dataset.py
- heart_heterogeneity.pdf
- heterogeneity_plot.py
- loss.py
- metric.py
- model.py
- README.md
- __init__.py
- color_constancy.py
- download_isic.py
- resize_images.py
- train_test_split
- __init__.py
- benchmark.py
- common.py
- dataset.py
- HAM10000_metadata
- heterogeneity_pic.py
- heterogeneity_pic_250_0.5_2_42.eps
- heterogeneity_pic_250_0.5_2_42.png
- loss.py
- metric.py
- model.py
- README.md
- __init__.py
- download.py
- update_config.py
- metadata_tiny.csv
- __init__.py
- benchmark.py
- common.py
- config.json
- create-metadata.py
- dataset.py
- ixi_plotting.py
- loss.py
- metric.py
- model.py
- README.md
- utils.py
- LICENSE
- README.md
- __init__.py
- data_augmentations.py
- set_environment_variables.py
- __init__.py
- create_config.py
- histograms_kits19.png
- kits19_heterogenity_plot.py
- parsing_and_adding_metadata.py
- run_nnUnet_plan_and_preprocess.py
- anony_sites.csv
- thresholded_sites.csv
- __init__.py
- benchmark.py
- common.py
- dataset.py
- loss.py
- metric.py
- model.py
- README.md
- __init__.py
- download_ct_scans.py
- process_raw.py
- tciaclient.py
- metadata.csv
- __init__.py
- benchmark.py
- common.py
- data_utils.py
- dataset.py
- lidc_heterogeneity_plot.py
- loss.py
- metric.py
- model.py
- README.md
- __init__.py
- download.py
- update_config.py
- __init__.py
- benchmark.py
- common.py
- dataset.py
- loss.py
- metric.py
- model.py
- README.md
- synthetic_generator.py
- train_test_split.csv
- __init__.py
- benchmark.py
- brca.csv
- centers.csv
- common.py
- dataset.py
- local_kms.pdf
- loss.py
- metric.py
- model.py
- plot_kms.py
- pooled_km.pdf
- README.md
- __init__.py
- fed_dummy_dataset.py
- split_utils.py
- create_fed_heart_disease_dp_results.py
- perf_function_of_dp_heart_disease.pdf
- plot_fed_heart_disease_dp_results.py
- results_fed_heart_disease.csv
- compare_fedavg_vs_perso.py
- perso_vs_non_perso.pdf
- plot_perso_results.py
- results_perso_vs_normal.csv
- results_benchmark_fed_camelyon16.csv
- cam16_vf_seed42.csv
- cam16_vf_seed43.csv
- cam16_vf_seed44.csv
- cam16_vf_seed45.csv
- cam16_vf_seed46.csv
- results_benchmark_fed_camelyon16.csv
- heart_seed42.csv
- heart_seed43.csv
- heart_seed44.csv
- heart_seed45.csv
- heart_seed46.csv
- isic_seed42.csv
- isic_seed43.csv
- isic_seed44.csv
- isic_seed45.csv
- isic_seed46.csv
- ixi_seed42.csv
- ixi_seed43.csv
- ixi_seed44.csv
- ixi_seed45.csv
- ixi_seed46.csv
- kits19_seed42.csv
- kits19_seed43.csv
- kits19_seed44.csv
- kits19_seed45.csv
- kits19_seed46.csv
- lidc_seedNone.csv
- tcga_seed42.csv
- tcga_seed43.csv
- tcga_seed44.csv
- tcga_seed45.csv
- tcga_seed46.csv
- plot_results.py
- plot_results_benchmarks.eps
- plot_results_benchmarks_old.eps
- plot_results_benchmarks_phikon.eps
- __init__.py
- cyclic.py
- fed_avg.py
- fed_avg_fine_tuning.py
- fed_opt.py
- fed_prox.py
- scaffold.py
- utils.py
- __init__.py
- config_camelyon16.json
- config_example.json
- config_heart_disease.json
- config_isic2019.json
- config_ixi.json
- config_kits19.json
- config_lidc_idri.json
- config_tcga_brca.json
- create_dataset_config.py
- extract_config.py
- gpu_utils.py
- utils.py
- flamby-integration-into-fedbiomed.ipynb
- flamby-integration-into-fedbiomed.md
- fedml_config.yaml
- fedml_utils.py
- flamby-integration-into-fedml.md
- launch_client.py
- description.md
- opener_test_MyOrg1MSP.py
- opener_test_MyOrg2MSP.py
- opener_test_MyOrg3MSP.py
- opener_test_MyOrg4MSP.py
- opener_test_MyOrg5MSP.py
- opener_test_MyOrg6MSP.py
- opener_train_MyOrg1MSP.py
- opener_train_MyOrg2MSP.py
- opener_train_MyOrg3MSP.py
- opener_train_MyOrg4MSP.py
- opener_train_MyOrg5MSP.py
- opener_train_MyOrg6MSP.py
- .gitkeep
- .gitignore
- output_27_0.png
- Substra-logo-colour.svg
- .gitignore
- flamby-integration-into-substra.md
- README.md
- requirements.txt
- test_fed_benchmark.py
- test_dataloader_with_memory.py
- test_heart_disease.py
- test_cox_loss.py
- test_cyclic.py
- test_fed_adam.py
- test_fed_avg.py
- test_fed_prox.py
- test_scaffold.py
- __init__.py
- test_fed_ixi_dataset.py
- .gitignore
- .isort.cfg
- .pre-commit-config.yaml
- conda-requirements.txt
- environment.yml
- LICENSE
- Makefile
- MANIFEST.in
- Quickstart.md
- README.md
- setup.cfg
- setup.py
# Installation Guide
git clone https://github.com/owkin/FLamby
Downloads the entire project code from GitHub to your computer.
cd FLamby
Moves into the project folder you just downloaded.
2. Official Install Script
Easy Recommended- Python 3 Python is required to use pip.
pip3 install --upgrade pip
Installs the package published on PyPI directly โ no need to clone the source.
Pulled directly from this repo's README.
3. Docker
Easy- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker build -t flamby-heart -f Dockerfile.base --build-arg DATASET_PREFIX="heart" --build-arg GIT_USER="myusername" --build-arg GIT_PWD="mypassword" .
Builds a runnable image based on the Dockerfile.
docker build -t flamby-heart-benchmark -f Dockerfile.heart .
Builds a runnable image based on the Dockerfile.
docker run -it flamby-heart-benchmark
Runs the built image as an actual container.
docker build -t flamby-all -f Dockerfile.base --build-arg DATASET_PREFIX="all_extra" --build-arg GIT_USER="myusername" --build-arg GIT_PWD="mypassword" .
Builds a runnable image based on the Dockerfile.
Pulled directly from this repo's README.
4. Python
Easypip install -e .[all_extra]
Installs the Python libraries listed in requirements.txt (or similar).
pip install -e .[option_name]
Installs the Python libraries listed in requirements.txt (or similar).
pip install -e .[cam16,ixi]
Installs the Python libraries listed in requirements.txt (or similar).
pip3 install --upgrade pip
Installs the package published on PyPI directly โ no need to clone the source.
Pulled directly from this repo's README.
5. Make
Medium- Git Needed to download the project code from GitHub.
- Make Usually pre-installed on Linux/macOS. On Windows, install separately (e.g. via MSYS2 or WSL).
make install
Compiles the code based on the generated build configuration to produce an executable.
make enable=option_name install
Compiles the code based on the generated build configuration to produce an executable.
make enable=cam16,kits19,tests install
Compiles the code based on the generated build configuration to produce an executable.
make update
Compiles the code based on the generated build configuration to produce an executable.
make enable=cam16 update
Compiles the code based on the generated build configuration to produce an executable.
Pulled directly from this repo's README.
