跳转到主要内容

SubstraFL是一个高级联邦学习Python库,可以在Substra网络上以大规模运行联邦学习实验

项目描述



Substra


Substra是一个开源的联邦学习(FL)软件。它使机器学习模型在分布式数据集上训练和验证成为可能。它提供了一个灵活的Python接口和一个Web应用程序,以在规模上运行联邦学习训练。这个特定的存储库是关于基于低级Substra Python库的高级联邦学习Python库SubstraFL。SubstraFL用于运行大规模的复杂联邦学习实验。

Substra的主要用途是在生产环境中。它已经被部署并由医院和生物技术公司使用(例如,参见MELLODDY项目)。Substra也可以在单台机器上用于执行FL模拟和调试代码。

Substra最初由Owkin开发,现在由Linux Foundation for AI and Data托管。今天,Owkin是Substra的主要贡献者。

加入关于Slack的讨论,并在这里订阅我们的通讯。

如何安装

pip install substrafl

开始使用Substra

查看我们的文档

尝试我们的MNIST示例

支持

如果您需要支持,请在Github上提出问题或在Slack上询问。

贡献

Substra热烈欢迎任何贡献。请随意克隆存储库并创建一个pull request。

如何测试

使用开发者依赖项以可编辑模式安装substrafl。此外,以可编辑模式安装substrasubstra-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可以是以下类型之一:addedchangedremovedfixed

要生成变更日志(例如在发布期间),请使用以下命令(您必须安装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命令。

项目细节


发布历史 发布通知 | RSS源

下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

substrafl-0.47.0.tar.gz (719.6 kB 查看哈希值)

上传

构建分发

substrafl-0.47.0-py3-none-any.whl (118.1 kB 查看哈希值)

上传 Python 3

支持者