Skip to content

Features

Work in Progress

  • [ ] 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.
  • [x] 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.
  • [x] GitHub Pages available.
  • [ ] Adding some other datasets and models: see point above.
  • [x] Adding a test suite using pytest: see here https://typer.tiangolo.com/tutorial/testing/
  • [x] Thoughts on Checkpointing.
  • [ ] Adding commands to deal with data downloading and/or preprocessing?
  • [ ] Integration of Differential Privacy.
  • [ ] Integration of FHE
  • [ ] Adding other strategies:
    • FedProx
    • ...
  • [x] 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?
  • [x] Use Pydantic to control config files and the good use of the different tools.
  • [x] Adding the possibility to save the weights of the model. Cane be done using Fabric.
  • [x] Working on Docker part.
  • [x] Using only LightningDataModule, and getting rid of load_data.
  • [x] Logging with tensorboard.

## Road Map

Here is a list of more mid/long term ideas to implement in Pybiscus for Federated Learning.