{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/flower-a-friendly-federated-learning-research","title":"Flower: A Friendly Federated Learning Research Framework","arxiv_id":"2007.14390","date":"2020-07-28","proceeding":null,"authors":["Daniel J. Beutel","Taner Topal","Akhil Mathur","Xinchi Qiu","Javier Fernandez-Marques","Yan Gao","Lorenzo Sani","Kwing Hei Li","Titouan Parcollet","Pedro Porto Buarque de Gusmão","Nicholas D. Lane"],"abstract":"Federated Learning (FL) has emerged as a promising technique for edge devices to collaboratively learn a shared prediction model, while keeping their training data on the device, thereby decoupling the ability to do machine learning from the need to store the data in the cloud. However, FL is difficult to implement realistically, both in terms of scale and systems heterogeneity. Although there are a number of research frameworks available to simulate FL algorithms, they do not support the study of scalable FL workloads on heterogeneous edge devices. In this paper, we present Flower -- a comprehensive FL framework that distinguishes itself from existing platforms by offering new facilities to execute large-scale FL experiments and consider richly heterogeneous FL device scenarios. Our experiments show Flower can perform FL experiments up to 15M in client size using only a pair of high-end GPUs. Researchers can then seamlessly migrate experiments to real devices to examine other parts of the design space. We believe Flower provides the community with a critical new tool for FL study and development.","url_abs":"https://arxiv.org/abs/2007.14390v5","url_pdf":"https://arxiv.org/pdf/2007.14390v5.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"flower-a-friendly-federated-learning-research","repo_url":"https://github.com/adap/flower","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"tf","reach":null},{"paper_slug":"flower-a-friendly-federated-learning-research","repo_url":"https://github.com/aguastella/sparsyfed","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"flower-a-friendly-federated-learning-research","repo_url":"https://github.com/camlsys/fl-project-template","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"federated-learning","task_name":"Federated Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2007.14390","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2007.14390"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/adap/flower","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/camlsys/fl-project-template","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/aguastella/sparsyfed","reach":null}],"summary":{"unverified":2},"by_repo_kind":{"listed":{"samples":2,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"30aeac270ef01b2f","entry":"lazy_wrapper","repo":"camlsys/fl-project-template","repo_kind":"listed","path":"project/utils/utils.py","file_url":"https://github.com/camlsys/fl-project-template/blob/HEAD/project/utils/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"30aeac270ef01b2f"}},{"code_sha256_prefix":"ffc8ca0da10182c6","entry":"wandb_init","repo":"camlsys/fl-project-template","repo_kind":"listed","path":"project/utils/utils.py","file_url":"https://github.com/camlsys/fl-project-template/blob/HEAD/project/utils/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ffc8ca0da10182c6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}