Coder Social home page Coder Social logo

dystudio / fate Goto Github PK

View Code? Open in Web Editor NEW

This project forked from federatedai/fate

0.0 1.0 0.0 232.48 MB

An Industrial Grade Federated Learning Framework

Home Page: https://www.fedai.org

License: Apache License 2.0

Python 98.29% Shell 1.14% Dockerfile 0.16% Lua 0.41%

fate's Introduction

License CodeStyle Style Build Status codecov Documentation Status

DOC | Quick Start | 中文

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.

https://fate.fedai.org

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.

Install

FATE can be installed on Linux or Mac. Now, FATE can support:

  • Native installation: standalone and cluster deployments;

  • KubeFATE installation:

    • Multipal parties deployment by docker-compose, which for devolopment and test purpose;

    • Cluster (multi-node) deployment by Kubernetes

Native installation:

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

Standalone

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

Cluster

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.

KubeFATE installation:

Using KubeFATE, FATE can be deployed by either docker-compose or Kubernetes:

  • For development or testing purposes, docker-compose is recommended. It only requires Docker enviroment. For more detail, please refer to Deployment by Docker Compose.

  • For a production or a large scale deployment, Kubernetes is recommended as an underlying infrastructure to manage FATE system. For more detail, please refer to Deployment on Kubernetes.

More instructions can be found in KubeFATE.

FATE-Client Installation

FATE-client is an easy tool for interacting with FATE. We strongly recommend you install FATE-client and take its advantage to use FATE conveniently. Please refer to this document for more details on FATE-Client.

Running Tests

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

Once FATE is installed, tests can be run using:

sh ./python/federatedml/test/run_test.sh

All the unittests shall pass if FATE is installed properly.

Example Programs

Quick Start

We have provided a tutorial for quick starting modeling task. Please refer here

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

Doc

API doc

FATE provides some API documents in doc-api

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.

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

License

Apache License 2.0

fate's People

Contributors

asfdghf avatar cometta avatar dependabot[bot] avatar dylan-fan avatar easson001 avatar feiqihang avatar forgivedengkai avatar happycooperxu avatar huttuh avatar izhfeng00 avatar jarvenshan avatar jarviszeng-zjc avatar jiahaoc1993 avatar jiahuanluo avatar lbenwong avatar liucongwust avatar mgqa34 avatar nemirorox avatar owlet42 avatar paulbaogang avatar peiyong86 avatar possibledream avatar sagewe avatar sookieqin avatar talkingwallace avatar tanmc123 avatar tianjian avatar zazd avatar zhihuiwan avatar zzzcq avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.