Giter VIP home page Giter VIP logo

end2end-federated-learning's Introduction

End2end-Federated-Learning

A demo of end-to-end federated learning system.

中文版本

Introduce

Federated learning gets a lot of attention recently, but the existing work is basically based on simulation testing, and there is no complete system for everyone to study. Therefore, we built an end-to-end cross-terminal federated learning system and tested it on 20 real Android devices(demo below). The code will be actively maintained and optimized, and hope it is useful for open source comunity.

Demo

动画

Run Guide

Server

  1. Install python3.6, pip3, and install the following dependency packages
pip3 install -U MNN
pip3 install cherrypy
pip3 install ws4py
  1. Run server.py

Client

  1. The data and initialization model need to be downloaded to the local Android device through the command line tool adb
cd End2end-Federated-Learning/data
adb push mnist.snapshot.mnn /data/local/tmp/mnn/mnist.snapshot.mnn
adb push mnist_data /data/local/tmp/mnist_data
  1. Modify the SERVER_URL in app/src/main/java/com/demo/MainActivity.java to the ip address of the your server

  2. Connect the android device and run the project (must be in the same local area network as the server to run normally)

Related Work

MNN

Contact us

Prof. Mengwei Xu ([email protected]), Prof. Shangguang Wang ([email protected])

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.