fluke: Federated Learning Utility frameworK for Experimentation and research
This addresses the need for researchers and practitioners in federated learning to have a flexible, easy-to-use framework for algorithm development, though it is incremental as it builds on existing FL concepts.
The paper tackles the problem of researchers implementing federated learning algorithms from scratch due to inflexible existing frameworks, and presents fluke, a Python package that simplifies development with minimal overhead for prototyping.
Since its inception in 2016, Federated Learning (FL) has been gaining tremendous popularity in the machine learning community. Several frameworks have been proposed to facilitate the development of FL algorithms, but researchers often resort to implementing their algorithms from scratch, including all baselines and experiments. This is because existing frameworks are not flexible enough to support their needs or the learning curve to extend them is too steep. In this paper, we present \fluke, a Python package designed to simplify the development of new FL algorithms. fluke is specifically designed for prototyping purposes and is meant for researchers or practitioners focusing on the learning components of a federated system. fluke is open-source, and it can be either used out of the box or extended with new algorithms with minimal overhead.