A growing collection of small, well-documented machine-learning examples built during the Decentralized Training fellowship. The aim is to give fellows a readable reference source β runnable code paired with plain-language explanations β that they can learn from and adapt.
The repo is organized one directory per week. Each week is a self-contained
project with its own README.md, dependencies, and run instructions.
.
βββ week-2/ # Federated learning on MNIST with Flower (FedAvg)
So far only week-2 exists. Start there: week-2/README.md walks through federated learning end-to-end, from the model to the server's aggregation step.
More weeks will be added here as the fellowship progresses.
Pick a week, cd into it, and follow its README:
cd week-2
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
python main.pyContributions from fellows are very welcome β whether that's a new week, a fix, a clearer explanation, or an experiment that helped something click.
A few guidelines to keep this useful as a reference:
- Keep each week self-contained. Add a new top-level
week-N/directory with its ownREADME.md,requirements.txt, and run instructions. - Optimize for reading. Favor clarity over cleverness; comment the why, not just the what. Each file should map cleanly to one concept where possible.
- Make it runnable. Pin dependencies and verify a clean
venvruns your code from scratch. - Document the gotchas. If you hit a bug or a confusing pitfall, write it down β that's often the most valuable part for the next fellow.
To contribute: fork the repo, add your work on a branch, and open a pull request describing what you built and what a reader should learn from it.
Happy training! πΌ