{"id":16359351,"url":"https://github.com/gaborvecsei/federated-learning-mini-framework","last_synced_at":"2025-03-21T00:31:39.711Z","repository":{"id":84266136,"uuid":"200362038","full_name":"gaborvecsei/Federated-Learning-Mini-Framework","owner":"gaborvecsei","description":"Federated Learning mini-framework with Keras","archived":false,"fork":false,"pushed_at":"2019-10-05T13:33:15.000Z","size":159,"stargazers_count":35,"open_issues_count":4,"forks_count":13,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-17T19:21:20.558Z","etag":null,"topics":["cifar10","convolutional-neural-networks","federated-learning","keras","python","tensorflow"],"latest_commit_sha":null,"homepage":"https://gaborvecsei.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gaborvecsei.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-03T10:24:49.000Z","updated_at":"2023-12-13T15:07:15.000Z","dependencies_parsed_at":"2023-05-24T04:45:10.985Z","dependency_job_id":null,"html_url":"https://github.com/gaborvecsei/Federated-Learning-Mini-Framework","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaborvecsei%2FFederated-Learning-Mini-Framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaborvecsei%2FFederated-Learning-Mini-Framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaborvecsei%2FFederated-Learning-Mini-Framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaborvecsei%2FFederated-Learning-Mini-Framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gaborvecsei","download_url":"https://codeload.github.com/gaborvecsei/Federated-Learning-Mini-Framework/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244717391,"owners_count":20498283,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cifar10","convolutional-neural-networks","federated-learning","keras","python","tensorflow"],"created_at":"2024-10-11T02:08:10.479Z","updated_at":"2025-03-21T00:31:39.701Z","avatar_url":"https://github.com/gaborvecsei.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Federated Learning mini-framework\n\nThis repo contains a Federated Learning (FL) setup with the Keras (Tensorflow) framework. The purpose is to have the\ncodebase with which you can run FL experiments easily, for both IID and Non-IID data.\n\nThe two main components are: Server and Client. The **Server** contains the model description, distributes the data\nand coordinates the learning. And for all the clients it summarizes the results to update it's own (global) model.\nThe **Clients** have different random chunks of data and the model description with the global model's weights. From\nthis initialized status they can start the training on their own dataset for a few iterations. In a real world\nscenario the clients are edge devices and the training is running in parallel.\n\nIn this setup the client trainings are running sequentially and you can use only your CPU or just 1 GPU.\n\n## Cifar10 - \"Shallow\" VGG16\n\nTraining with a shallow version of VGG16 on Cifar10 with IID data where we had 100 clients and for each round (global epoch) we used only\n10% of them (selected randomly at each communication round). Every client fitted 1 epoch on \"their part\" of the data with the batch size of `[blue: 8, orange: 64, gray: 256]` and with learning rate of `0.1`.\n\nA \"single model\" training (1 client with all the data) is also shown (`red`) on the graph. Batch size was `256` and the learning rate was: `0.05`.\n\n\u003cimg src=\"art/cifar_10_experiment.png\" width=\"600\"\u003e\n\n(The Tensorboard logs are (for each experiment) included in the release, so you can easily visualize them.)\n\n## About\n\nGábor Vecsei\n\n- [Website](https://gaborvecsei.com)\n- [Twitter](https://twitter.com/GAwesomeBE)\n- [LinkedIn](https://www.linkedin.com/in/gaborvecsei)\n- [Personal Blog](https://gaborvecsei.wordpress.com/)\n- [Github](https://github.com/gaborvecsei)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgaborvecsei%2Ffederated-learning-mini-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgaborvecsei%2Ffederated-learning-mini-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgaborvecsei%2Ffederated-learning-mini-framework/lists"}