- Putting model and data referenced in Strategy outside of it: Strategies do not depend on model or data, only on aggregation functions. Instead, writing some wrappers on aggregation functions to take care of any model/data, using Fabric.
- Writing wrappers for logging (both via Rich and Tensorboard). SHould not been done via rewriting the functions inside the Strategy.
- Working on importing dynamically other LightingModules.
- Working on providing a better package, with both CLI available, and the possibility of using directly the wrappers or the Client.
- Improving the Documentation part and docstrings of the code.
- GitHub Pages available.
- Adding some other datasets and models: see point above.
- Adding a test suite using pytest: see here https://typer.tiangolo.com/tutorial/testing/
- Thoughts on Checkpointing.
- Adding commands to deal with data downloading and/or preprocessing?
- Integration of Differential Privacy.
- Integration of FHE
- Adding other strategies:
- FedProx
- ...
- Refacto: splitting flower directory into flower and typer parts. Separating commands themselves from code of Flower.
- Better logging: fusion between logging through Rich Console and logging from Flower?
- Use Pydantic to control config files and the good use of the different tools.
- Adding the possibility to save the weights of the model. Cane be done using Fabric.
- Working on Docker part.
- Using only LightningDataModule, and getting rid of load_data.
- Logging with tensorboard.
Here is a list of more mid/long term ideas to implement in Pybiscus for Federated Learning.