【联邦学习FATE框架实战】(一)FATE1.6单机部署教程

1. 说明

使用虚拟机VMware进行实验,实验过程中随时拍摄快照,节约重装时间。

项目Value
虚拟机配置内存4G + 硬盘80G
操作系统Ubuntu18.04
用户root; fate(安装系统时创建)

2. 安装前

虚拟机裸机安装Ubuntu系统后:

3. 在主机中安装FATE(使用已编译的安装包)

  • FATE官方单机部署教程
  • 单机版提供3种部署方式,这里选择在主机中安装FATE(官方建议使用Docker镜像,但不熟悉Docker的人容易找不到FATE路径,同时教程较少,完成部署后进行后续开发困难)

3.1 端口检查

检查端口8080、9360、9380是否被占用

$ netstat -apln|grep 8080
$ netstat -apln|grep 9360
$ netstat -apln|grep 9380

3.2 获取安装包

  • 这里选择安装的是FATE1.6.0版本,当前最新版本1.7.1,文档较少,暂时没跑通
$ wget https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/standalone_fate_master_1.6.0.tar.gz
$ tar -xzvf  standalone_fate_master_1.6.0.tar.gz

3.3 安装

  • 进入解压后的目录并使用init.sh进行安装
  • 该脚本将自动完成:
    • 安装必要的OS依赖、py36环境、pypi依赖、jdk环境、fate client
    • 配置FATE环境变量、fateflow、fateboard
$ cd standalone_fate_master_1.6.0
$ sudo gedit init.sh # 修改init.sh文件
这里修改init.sh文件中的sh命令为bash(官方文档使用的是sh,这里系统不同改用bash)
否则会出现问题:service.sh: [[ not found

在这里插入图片描述

$ bash init.sh init
  • 看到图中红框就行了,底下仍然出现了service.sh: [[ not found,但这时似乎没有影响。
    在这里插入图片描述

3.4 启动

$ bash init.sh status
$ bash init.sh start

在这里插入图片描述

3.5 测试

  • 加载环境变量

    $ source bin/init_env.sh	
    
  • Toy测试

    $ python ./examples/toy_example/run_toy_example.py 10000 10000 0
    
    • 如果成功,屏幕显示类似下方的语句:
      success to calculate secure_sum, it is 2000.0000000000002
      
  • 单元测试

    $ bash ./python/federatedml/test/run_test.sh
    
    • 如果成功,屏幕显示类似下方的语句:
      there are 0 failed test
      

3.6 FATE Board

  • 本机通过浏览器访问URL:IP:8080或虚拟机通过浏览器访问URL:localhost:8080能够进入FATE Board界面
    在这里插入图片描述

4. 安装FATE-Client、FATE-Test、FATE-Flow、jupyter notebook

4.1 FATE-Client、FATE-Test

  • 为方便使用FATE,安装便捷的交互工具FATE-Client以及测试工具FATE-Test.
  • 请在环境内使用以下指令安装:
    $ python -m pip install fate-client
    $ python -m pip install fate-test
    

4.2 FATE-Flow

  • 安装FATE-Client的过程会安装好FATE-Flow,这个工具是联邦学习端到端流水线的多方联邦任务安全调度平台,是执行任务的核心
  • 初始化
    $ flow init --ip 127.0.0.1 --port 9380
    
    • 注意:FATE集群版的FATE-Flow的初始化命令(单机版中不存在该.yaml文件)
      flow init -c /data/projects/fate/conf/service_conf.yaml
      
    在这里插入图片描述

4.3 FATE中的Jupyter Notebook

参考:在Juypter Notebook中构建联邦学习任务

$ pip install notebook fate-client

启动 Juypter Notebook 服务并监听 20000 端口,待服务启动完毕后则可以通过的方式 "IP:Port" 的方式访问 Notebook
$ jupyter notebook --ip=0.0.0.0 --port=20000 --allow-root --debug --no-browser --NotebookApp.token= ''--NotebookApp.password= ''
  • 保持终端运行的状态,可以通过"IP:Port"的方式访问Juypter Notebook,此时notebook中的目录,就是Ubuntu中fate安装目录下的内容(按本教程的安装过程,fate根目录位于/home/fate/standalone_fate_master_1.6.0/)
    在这里插入图片描述
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值