跳转到主要内容

一个开源框架,用于在分布式数据上执行机器学习和其他计算。

项目描述

TensorFlow Federated

TensorFlow Federated (TFF) 是一个开源框架,用于在分布式数据上执行机器学习和其他计算。TFF的开发旨在促进对联邦学习(FL)的开放研究和实验,这是一种机器学习方法,其中共享的全局模型在许多参与客户端之间进行训练,这些客户端保留其本地训练数据。例如,FL已用于训练移动键盘预测模型,而无需将敏感的打字数据上传到服务器。

TFF使开发者能够使用包含的联邦学习算法与他们的模型和数据一起使用,并可以尝试新算法。TFF提供的构建块还可以用于实现非学习计算,例如对分布式数据的聚合分析。

TFF的接口分为两层

  • 联邦学习 (FL) API tff.learning 层提供了一套高级接口,允许开发人员将联邦训练和评估的实现应用于现有的 TensorFlow 模型。

  • 联邦核心 (FC) API 系统的核心是一组低级接口,通过在强类型函数式编程环境中将 TensorFlow 与分布式通信操作符结合,简洁地表达新的联邦算法。这一层也构成了我们构建 tff.learning 的基础。

TFF 允许开发人员声明式地表达联邦计算,以便它们可以被部署到不同的运行环境。TFF 内部包含了一个单机模拟运行时环境,用于实验。请访问教程并亲自尝试!

安装

请参阅安装文档,了解如何以软件包的形式安装 TensorFlow Federated 或从源代码构建 TensorFlow Federated。

入门

请参阅入门文档,了解如何使用 TensorFlow Federated。

贡献

根据您的兴趣,有多种贡献方式。

  • 如果您对开发新的联邦学习算法感兴趣,最佳开始方式是研究 tff.learning 中联邦平均和评估的实现,并考虑对现有实现(或替代方法)的扩展。如果您有一个新算法的提案,我们建议您在 research 目录中启动您的项目,并包括一个 colab 笔记本来展示新功能。

    您还可能希望在自己的仓库中开发新的算法。我们乐于在 tensorflow.org/federated 上展示使用 TFF 的学术出版物和/或仓库。

  • 如果您对应用联邦学习感兴趣,考虑贡献教程、新的联邦数据集或其他人可以用于实验和测试的示例模型,或者编写其他人可以用于设置模拟的辅助类。

  • 如果您想帮助我们改进开发人员体验,最佳开始方式是研究 tff.learning API 背后的实现,并思考如何使代码更简洁。您可以贡献基于 FC API 的辅助类或建议对 FC API 本身的扩展。

  • 如果您想帮助我们开发模拟和更多领域的运行时基础设施,请等待未来的版本,我们将介绍用于贡献模拟基础设施的接口和指南。

请务必审查贡献指南,了解如何贡献。

问题

请使用 GitHub issues 跟踪请求和错误。

问题

请通过 Stack Overflow 使用 tensorflow-federated 标签提出问题。

项目详情


发布历史 发布通知 | RSS 源

下载文件

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

源代码分发

此版本没有可用的源代码分发文件。请参阅生成分发存档的教程

构建的分发

tensorflow_federated-0.87.0-py3-none-manylinux_2_31_x86_64.whl (71.9 MB 查看哈希值)

上传时间 Python 3 manylinux: glibc 2.31+ x86-64

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面