federated

A framework for implementing federated learning

  • 所有者: google-parfait/tensorflow-federated
  • 平台:
  • 許可證: Apache License 2.0
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

TensorFlow Federated

TensorFlow Federated (TFF) is an open-source framework for machine learning and
other computations on decentralized data. TFF has been developed to facilitate
open research and experimentation with
Federated Learning (FL),
an approach to machine learning where a shared global model is trained across
many participating clients that keep their training data locally. For example,
FL has been used to train
prediction models for mobile keyboards
without uploading sensitive typing data to servers.

TFF enables developers to use the included federated learning algorithms with
their models and data, as well as to experiment with novel algorithms. The
building blocks provided by TFF can also be used to implement non-learning
computations, such as aggregated analytics over decentralized data.

TFF's interfaces are organized in two layers:

  • Federated Learning (FL) API The
    tff.learning layer offers a set of high-level interfaces that allow
    developers to apply the included implementations of federated training and
    evaluation to their existing TensorFlow models.

  • Federated Core (FC) API At the core of the system
    is a set of lower-level interfaces for concisely expressing novel federated
    algorithms by combining TensorFlow with distributed communication operators
    within a strongly-typed functional programming environment. This layer also
    serves as the foundation upon which we've built tff.learning.

TFF enables developers to declaratively express federated computations, so they
could be deployed to diverse runtime environments. Included with TFF is a
single-machine simulation runtime for experiments. Please visit the tutorials
and try it out yourself!

Installation

See the install documentation for instructions on how to
install TensorFlow Federated as a package or build TensorFlow Federated from
source.

Getting Started

See the get started documentation for instructions on
how to use TensorFlow Federated.

Contributing

There are a number of ways to contribute depending on what you're interested in:

  • If you are interested in developing new federated learning algorithms, the
    best way to start would be to study the implementations of federated
    averaging and evaluation in tff.learning, and to think of extensions to
    the existing implementation (or alternative approaches). If you have a
    proposal for a new algorithm, we recommend starting by staging your project
    in the research directory and including a colab notebook to showcase the
    new features.

    You may want to also develop new algorithms in your own repository. We are
    happy to feature pointers to academic publications and/or repos using TFF on
    tensorflow.org/federated.

  • If you are interested in applying federated learning, consider contributing
    a tutorial, a new federated dataset, or an example model that others could
    use for experiments and testing, or writing helper classes that others can
    use in setting up simulations.

  • If you are interested in helping us improve the developer experience, the
    best way to start would be to study the implementations behind the
    tff.learning API, and to reflect on how we could make the code more
    streamlined. You could contribute helper classes that build upon the FC API
    or suggest extensions to the FC API itself.

  • If you are interested in helping us develop runtime infrastructure for
    simulations and beyond, please wait for a future release in which we will
    introduce interfaces and guidelines for contributing to a simulation
    infrastructure.

Please be sure to review the
contribution guidelines
for guidelines on the coding style, best practices, etc.

Compatibility

The following table describes the compatibility between the TensorFlow Federated
and TensorFlow Python packages.

TensorFlow Federated, TensorFlow
--------------------------------------------------------------, ----------
0.12.0, tensorflow 2.0.0
0.11.0, tensorflow 2.0.0
0.10.1, tensorflow 2.0.0
0.10.0, tensorflow 2.0.0
0.9.0, tf-nightly 2.1.0.dev20191005
0.8.0, tf-nightly 1.15.0.dev20190805
0.7.0, tf-nightly 1.15.0.dev20190711
0.6.0, tf-nightly 1.15.0.dev20190626
0.5.0, tf-nightly 1.14.1.dev20190528
0.4.0, tensorflow 1.13.1
0.3.0, tensorflow 1.13.1
0.2.0, tensorflow 1.13.1
0.1.0, tensorflow 1.13.0rc2

Issues

Use GitHub issues for tracking
requests and bugs.

Questions

Please direct questions to Stack Overflow using the
tensorflow-federated
tag.

主要指標

概覽
名稱與所有者google-parfait/tensorflow-federated
主編程語言Python
編程語言Dockerfile (語言數: 4)
平台
許可證Apache License 2.0
所有者活动
創建於2018-12-12 23:15:35
推送於2025-08-30 06:37:43
最后一次提交
發布數93
最新版本名稱v0.89.0 (發布於 )
第一版名稱v0.1.0 (發布於 )
用户参与
星數2.4k
關注者數71
派生數597
提交數5.7k
已啟用問題?
問題數0
打開的問題數0
拉請求數2327
打開的拉請求數180
關閉的拉請求數2272
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?