GithubHelp home page GithubHelp logo

jd-opensource / fedlearn Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fedlearnai/fedlearn

1.0 0.0 0.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

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.