联邦学习 - Fate平台单机部署(Docker版)

834 阅读4分钟

联邦学习 - Fate平台单机部署(Docker版)

常用地址

Fate 官方网站

fate.fedai.org

Fate1.6.0 联邦学习下载网站

github.com/WeBankFinTe…

开始配置

本篇文章是基于:VMware16 + CentOS7.4。进行搭建

虚拟机配置

配置虚拟机参数

也可以设置为NAT模式,该篇文章主要使用桥接模式

image.png

搭建 docker 环境

  • 检查是否安装过 docker : yum list installed|grep docker image.png

  • 如果安装了docker,需要卸载原来的docker环境 yum -y remove docker-ce.x86_64

    image.png

  • 检查 centOs 的内核版本(docker需要内核版本为3.10以上):uname-r

  • 移除旧版本(旧版本存在的情况下): sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine

  • 安装系统工具: sudo yum install -y yum-utils device-mapper-persistent-data lvm2 image.png

  • 添加软件源信息:sudo yum-config-manager --add-repo mirrors.aliyun.com/docker-ce/l…

    image.png

  • 更新yum缓存 :sudo yum makecache fast

    image.png

  • 安装docker-cesudo yum -y install docker-ce

    image.png

  • 启动 docker 后台服务:sudo systemctl start docker

  • 运行hello-world 镜像: docker run hello-world

    image.png

到此为止 docker 已经安装完毕

获取资源并且部署

执行之前,请检查8080是否已被占用。 如果要再次执行,请使用docker命令删除以前的容器和镜像。

获取资源

# 首先获取安装包
wget https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/docker_standalone_fate_1.6.0.tar.gz

# 在当前目录下解压
tar -xzvf docker_standalone_fate_1.6.0.tar.gz

部署

# 进入 fate 文件夹 
cd docker_standalone_fate_1.6.0  

# 执行命令
bash install_standalone_docker.sh

测试

在测试之前,需要将docker服务开启,以及进入fate镜像

  • 开启docker服务

    • 进入解压好的文件夹(docker_standalone_fate_1.6.0)

    • 输入:docker ps -a命令

      image.png

    • 如果docker服务没问题,将会出现上述情况

    • 否则重启 docker 服务:service docker restart

  • 正确进入 fate 镜像

    • 当我们启动好docker服务时,使用 docker ps -a 可以查看到目前有几个容器 image.png

    • 接着输入以下命令

      CONTAINER_ID=`docker ps -aqf "name=fate"`  
      docker exec -i -t ${CONTAINER_ID} bash
      
    • 完整命令如下

      image.png

单元测试

进行测试之前,需要进入fate命令模式,如下图所示。

root代表用户、d90ffc7ef308代表容器号

image.png

fate命令行下输入该条命令进行单元测试

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

当出现下图样例,即测试成功

image.png

Toy测试

和上述单元测试操作方法一样,修改命令为下述命令即可

python ./examples/toy_example/run_toy_example.py 10000 10000 0

如果测试成功,屏幕将会显示类似下方语句:

success to calculate secure_sum, it is 2000.0

安装 FATE-Client 和 FATE-Test (图形化界面)

进入Fate模式,输入以下指令进行安装

pip install fate-client  
pip install fate-test

配置 vim 编辑器

如需自己编写配置文件,需要在fate镜像中安装vim编辑器,下方是配置步骤

# 直接输入以下命令换源:
mv /etc/apt/sources.list /etc/apt/sources.list.bak
echo “deb http://mirrors.163.com/debian/ jessie main non-free contrib” >> /etc/apt/sources.list
echo “deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib” >>/etc/apt/sources.list
echo “deb-src http://mirrors.163.com/debian/ jessie main non-free contrib” >>/etc/apt/sources.list
echo “deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib” >>/etc/apt/sources.list

更新安装命令

apt-get update

更新依赖

apt-get update

安装 vim

apt-get install -y vim

上传配置文件(本篇文章上传的是fate默认配置文件)

host文件

python /fate/python/fate_flow/fate_flow_client.py -f upload -c /fate/examples/dsl/v1/homo_logistic_regression/upload_data_host.json 

image.png

guest 文件

python /fate/python/fate_flow/fate_flow_client.py -f upload -c /fate/examples/dsl/v1/homo_logistic_regression/upload_data_guest.json 

image.png

test 文件

python /fate/python/fate_flow/fate_flow_client.py -f upload -c /fate/examples/dsl/v1/homo_logistic_regression/upload_data_test.json 

image.png

同时上传 conf 和 dsl 配置文件

python /fate/python/fate_flow/fate_flow_client.py -f submit_job -c /fate/examples/dsl/v1/homo_logistic_regression/test_homolr_train_eval_job_conf.json -d /fate/examples/dsl/v1/homo_logistic_regression/test_homolr_train_eval_job_dsl.json 

image.png

python /fate/python/fate_flow/fate_flow_client.py -f submit_job -c /fate/examples/dsl/v1/homo_logistic_regression/test_homolr_train_job_conf.json -d /fate/examples/dsl/v1/homo_logistic_regression/test_homolr_train_job_dsl.json 

image.png

查看结果

在浏览器访问:http://localhost:8080 即可

训练过程展示

image.png

上传的所有操作展示

image.png

guest 展示

image.png

感谢大家的关注和支持,希望我写的文章能够帮助大家!
如有不足,也希望大家能够多多指正!

参考网址如下: [1]blog.csdn.net/qq_38500228…

搭建过程中遇到的问题

VMware16安装、启动虚拟机报错:无法打开内核设备“\.\VMCIDev\VMX”: 操作成功完成。是否在安装 VMware Workstation 后重新引导?

image.png

image.png

image.png

把"true"改成"false"即可解决

网络配置问题

一开始参考大佬的网络配置为NAT模式,后面发现主机的虚拟网卡找不到,所以改用了桥接模式,效果都一样,那种方法简介就用那种方法

image.png