Giter Site home page Giter Site logo

fedlearnai / fedlearn Goto Github PK

View Code? Open in Web Editor NEW
57.0 3.0 5.0 17.42 MB

联邦学习系统,包括常用算法和通用训练推理系统框架 | Fedlearn Main System, Including Algorithms and Frameworks for Training / Inference.

License: Apache License 2.0

Shell 0.49% Java 99.49% ANTLR 0.01%

fedlearn's Introduction

fedlearn 京东科技联邦学习系统

系统包含包含控制端(即前端)、协调端、单点客户端和分布式客户端等

1.环境要求

  • 最低硬件配置--4核CPU,8G内存,50G硬盘;
  • 操作系统--Centos7/8,ubuntu 16/18/20
  • Java环境--JDK1.8
  • maven--3.6

2.下载代码和编译打包

  • clone代码
  • package
mvn clean package
  • 打包后是.zip文件,位于 ./assembly/target/fedlearn-all-assembly.zip 运行时需要把文件解压缩,文件夹内会有多个目录
fedlearn-all
  --conf  配置文件,端口号、相关路径的修改
  --bin   启动、停止脚本
  --lib   相关依赖
  --readme 文档

3.部署

系统组件包含协调端、控制端、客户端三部分,其中客户端部署分为两种,单点客户端和分布式客户端。

3.1 协调端部署
  • 数据初始化 服务端依赖数据库保存持久化数据,所以需要创建数据库和初始化表结构。我们现有python项目支持数据库和表的初始化工作; 依照元数据存储方式的不同,目前支持mysql和sqlite两种方式,其中sqlite为系统安装包自带。
  • 修改配置,根据实际情况配置元数据和日志等目录。 -命令启动
cd ./fedlearn-all
bash bin/start-coordinator.sh -c ./conf/coordinator.properties
3.2 界面部署
  • 修改配置
  • 命令启动
cd ./fedlearn-all
bash bin/start-frontend.sh -c ./conf/application.yml
3.3单机版客户端部署

-修改配置 根据实际情况修改conf/client.properties文件 -命令启动

cd ./fedlearn-all
bash bin/start-client.sh -c ./conf/client.properties
3.4 分布式客户端部署

分布式客户端包括manager和worker两部分,

cd ./fedlearn-all
bash bin/start-worker.sh -c ./conf/worker.properties
3.5 区块链版本部署

区块链系统依赖京东的区块链jdchain,请先安装jdchain,参考 https://github.com/blockchain-jd-com

  • 修改各项配置文件中的区块链项目为
jdchain.available=true

并根据实际情况修改配置文件中的区块链地址

  • 参照标准版模式启动区块链系统,

4. FAQ

  • 安全推理和多方同台加密依赖gmp包,需要在Linux或者Mac上手动安装
  • 有任何其他问题请联系 [email protected]

fedlearn's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  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.