Watch 3 Star 12 Fork 3

WeBank / FATEPythonApache-2.0

Join us
Explore and code with more than 2 million developers,Free private repositories !:)
Sign up
FATE是由Webank的AI部门发起的开源项目,旨在提供安全的计算框架来支持联邦AI生态系统。 它基于同态加密和多方计算(MPC)实现安全的计算协议。 它支持联邦学习体系结构和各种机器学习算法的安全计算,包括逻辑回归,深度学习和迁移学习等。 spread retract

  • Python 78.6%
  • Java 15.9%
  • Shell 4.1%
  • ANTLR 0.6%
  • Cuda 0.4%
  • Other 0.4%
Clone or download
Notice: Creating folder will generate an empty file .keep, because not support in Git

License CodeStyle Pinpoint Satellite Style

FATE (Federated AI Technology Enabler) is an open-source project initiated by Webank's AI Department to provide a secure computing framework to support the federated AI ecosystem. It implements secure computation protocols based on homomorphic encryption and multi-party computation (MPC). It supports federated learning architectures and secure computation of various machine learning algorithms, including logistic regression, tree-based algorithms, deep learning and transfer learning.

Getting Involved

  • Join our maillist Fate-FedAI Group IO. You can ask questions and participate in the development discussion.

  • For any frequently asked questions, you can check in FAQ.

  • Please report bugs by submitting issues.

  • Submit contributions using pull requests

Federated Learning Algorithms In FATE

FATE already supports a number of federated learning algorithms, including vertical federated learning, horizontal federated learning, and federated transfer learning. More details are available in federatedml.


FATE can be installed on Linux or Mac. Now, FATE can support standalone and cluster deployments.

Software environment :jdk1.8+、Python3.6、python virtualenv、mysql5.6+、redis-5.0.2


FATE provides Standalone runtime architecture for developers. It can help developers quickly test FATE. Standalone support two types of deployment: Docker version and Manual version. Please refer to Standalone deployment guide: standalone-deploy


FATE also provides a distributed runtime architecture for Big Data scenario. Migration from standalone to cluster requires configuration change only. No algorithm change is needed.

To deploy FATE on a cluster, please refer to cluster deployment guide: cluster-deploy.

Get source

git clone --recursive

Running Tests

A script to run all the unittests has been provided in ./federatedml/test folder.

Once FATE is installed, tests can be run using:

sh ./federatedml/test/

All the unittests shall pass if FATE is installed properly.

Example Programs

Quick Start

We have provided a python script for quick starting modeling task. This scrip is located at "examples/federatedml-1.x-examples"

Standalone Version

  1. Start standalone version hetero-lr task (default)


Cluster Version

  1. Host party:

python -r host

This is just uploading data

  1. Guest party:

python -r guest

The config files that generated is stored in a new created folder named user_config

Start a Predict Task

Once you finish one training task, you can start a predict task. You need to modify "TASK" variable in script as "predict":

# Define what type of task it is
# TASK = 'train'
TASK = 'predict'

Then all you need to do is running the following command:


Please note this works only if you have finished the trainning task.

Obtain Model and Check Out Results

We provided functions such as tracking component output models or logs etc. through a tool called fate-flow. The deployment and usage of fate-flow can be found here


API doc

FATE provides some API documents in doc-api, including federatedml, eggroll, federation.

Develop Guide doc

How to develop your federated learning algorithm using FATE? you can see FATE develop guide document in develop-guide

Other doc

FATE also provides many other documents in doc. These documents can help you understand FATE better.


Apache License 2.0

Comments ( 0 )

Sign in for post a comment


Help Search