SubstraFL是一个高级联邦学习Python库,可以在Substra网络上以大规模运行联邦学习实验
项目描述
Substra是一个开源的联邦学习(FL)软件。它使机器学习模型在分布式数据集上训练和验证成为可能。它提供了一个灵活的Python接口和一个Web应用程序,以在规模上运行联邦学习训练。这个特定的存储库是关于基于低级Substra Python库的高级联邦学习Python库SubstraFL。SubstraFL用于运行大规模的复杂联邦学习实验。
Substra的主要用途是在生产环境中。它已经被部署并由医院和生物技术公司使用(例如,参见MELLODDY项目)。Substra也可以在单台机器上用于执行FL模拟和调试代码。
Substra最初由Owkin开发,现在由Linux Foundation for AI and Data托管。今天,Owkin是Substra的主要贡献者。
如何安装
pip install substrafl
开始使用Substra
查看我们的文档。
尝试我们的MNIST示例。
支持
如果您需要支持,请在Github上提出问题或在Slack上询问。
贡献
Substra热烈欢迎任何贡献。请随意克隆存储库并创建一个pull request。
如何测试
使用开发者依赖项以可编辑模式安装substrafl
。此外,以可编辑模式安装substra
和substra-tools
。建议在Python虚拟环境中安装所有库。
git clone git@github.com:Substra/substrafl.git
pip install -e "substrafl[dev]"
git clone git@github.com:Substra/substra.git
pip install -e substra
git clone git@github.com:Substra/substra-tools.git
pip install -e substra-tools
现在您可以从subtrafl
顶级目录使用以下命令运行测试
cd substrafl
make test-subprocess
运行高级测试套件
Substra可以使用三种不同的模式:使用Python子进程(subprocess
)、使用Docker(docker
)和使用Kubernetes(remote
)。
命令make test-subprocess
在子进程模式下运行测试套件。它轻量级且非常适合开始。
要使用Docker模式进行测试,您需要在您的机器上安装并运行Docker。如果需要,可以使用Docker Desktop安装它。
以下命令在子进程和Docker模式下运行测试套件
make test-local
``
Please be warned that some of these tests are slow and the whole test suite might require a couple hours to complete.
To try out a local deployment with Kubernetes, please follow the [installation instructions](https://docs.substra.org/en/stable/contributing/local-deployment.html) provided in the documentation.
The following command runs the remote tests:
```sh
make test-remote
如何生成变更日志
变更日志由towncrier管理。要向变更日志中添加新条目,请向changes
文件夹中添加一个文件。文件名应具有以下结构:<unique_id>.<change_type>
。其中unique_id
是一个唯一的标识符,我们目前使用PR编号。change_type
可以是以下类型之一:added
、changed
、removed
、fixed
。
要生成变更日志(例如在发布期间),请使用以下命令(您必须安装dev依赖项)
towncrier build --version=<x.y.z>
您可以使用--draft
选项查看将要生成的内容,而无需实际写入变更日志(并且不删除片段)。
附录
构建文档
API文档由SubstraFL存储库中的自动文档模块生成。它由https://github.com/Substra/substra-documentation自动构建并集成到一般文档此处。
您可以在本地构建API文档以查看PR所做的更改。
要求
您需要在您的机器上安装substrafl.dev以及一些额外的要求。从SubstraFL存储库
pip install -e '.[dev]'
cd docs
pip install -r requirements.txt
构建
您可以将文档构建出来以查看您的更改是否得到妥善处理。从./docs文件夹
make clean html
此命令不应抛出任何警告。
然后打开./docs/_build/index.html
文件以查看结果。
您还可以实时生成文档,以便您的每个更改都能即时得到考虑
make livehtml
注意:有时make livehtml
不会考虑更改,因此可能需要并行运行make html
命令。
项目细节
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
substrafl-0.47.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c19760a669d649b15d1e4e13101a4f528c51ef2c86acf7bbba84b9d3e1a4bbe5 |
|
MD5 | 7a5c90d24a18ef8b562d7fca34f72824 |
|
BLAKE2b-256 | 2935cb2d424366dee0f6ee10e827183be09c7643fe4e8162daba9fec6139fafb |
substrafl-0.47.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 96a2e61a0f5231f0bcb318cd6473d2ae8021da483eec926ff65b429d98f3a533 |
|
MD5 | de4891bcd0e6861d923a4e0506042163 |
|
BLAKE2b-256 | d57baa200411d9a6db2b58dd46511cafd2669f8b0f2844df857083b4c07bc512 |