加入FedLab开源#
报告bugs#
我们使用GitHub issues来跟进所有bugs以及新的功能请求。如果您发现了bug或者希望FedLab提供新的功能,请在GitHub上开新的issues方便我们后续跟进开发。
如果您在使用FedLab框架时发现了各种问题,请向 Bug Tracker 提交表单。当然我们也欢迎大家积极提出新功能需求或者发起pull request。
贡献代码#
我们欢迎大家通过 Pull Request 向FedLab贡献代码。当您贡献代码的时候我们将默认您允许自己提交的代码遵从 Apache License, Version 2.0 。
我们鼓励您向FedLab提交贡献,可以是功能改进或是联邦学习算法的实现。我们推荐的向FedLab提交贡献的流程是先fork FedLab的主仓库,clone到本地,然后在新的分支上进行开发。步骤如下所示:
点击’Fork’按钮来fork项目仓库。如果想要贡献新功能,请fork FedLab框架仓库,如果想要贡献新的联邦学习的算法实现,请fork FedLab-benchmarks仓库.
将你fork得到的仓库clone到本地:
$ git clone git@github.com:YourLogin/FedLab.git $ cd FedLab
创建新的分支来保存您的代码改动:
$ git checkout -b my-feature
在您自己的分支上开发新功能。
$ git add modified_files $ git commit
Pull Request清单#
请让新功能开发分支中遵循以下文件结构,或者按照新的需求创建新的文件。
fedlab ├── core │ ├── communicator # communication module │ ├── client # client related implementations │ └── server # server related implementations │ └── hierarchical # hierarchical communication pattern modules └── utils # functional modules └── dataset # functional modules about dataset
代码应该提供使用 unittest.TestCase 编写的测试样例,并且保证所有的本地测试均能通过:
$ python test_bench.py
所有公开提交的代码应包含有效的说明文档以及使用样例。说明文档和代码应遵循谷歌Python风格指南:中文版 | English。