联邦学习 - Fate平台单机部署(Docker版)
常用地址
Fate 官方网站
Fate1.6.0 联邦学习下载网站
开始配置
本篇文章是基于:VMware16 + CentOS7.4。进行搭建
虚拟机配置
配置虚拟机参数
也可以设置为NAT模式,该篇文章主要使用桥接模式
搭建 docker 环境
-
检查是否安装过 docker : yum list installed|grep docker
-
如果安装了docker,需要卸载原来的docker环境 yum -y remove docker-ce.x86_64
-
检查 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
-
添加软件源信息:sudo yum-config-manager --add-repo mirrors.aliyun.com/docker-ce/l…
-
更新
yum缓存 :sudo yum makecache fast -
安装
docker-ce:sudo yum -y install docker-ce -
启动
docker后台服务:sudo systemctl start docker -
运行hello-world 镜像: docker run hello-world
到此为止 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命令
-
如果docker服务没问题,将会出现上述情况
-
否则重启 docker 服务:
service docker restart
-
-
正确进入 fate 镜像
-
当我们启动好docker服务时,使用 docker ps -a 可以查看到目前有几个容器
-
接着输入以下命令
CONTAINER_ID=`docker ps -aqf "name=fate"` docker exec -i -t ${CONTAINER_ID} bash -
完整命令如下
-
单元测试
进行测试之前,需要进入fate命令模式,如下图所示。
root代表用户、d90ffc7ef308代表容器号
在fate命令行下输入该条命令进行单元测试
bash ./python/federatedml/test/run_test.sh
当出现下图样例,即测试成功
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
guest 文件
python /fate/python/fate_flow/fate_flow_client.py -f upload -c /fate/examples/dsl/v1/homo_logistic_regression/upload_data_guest.json
test 文件
python /fate/python/fate_flow/fate_flow_client.py -f upload -c /fate/examples/dsl/v1/homo_logistic_regression/upload_data_test.json
同时上传 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
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
查看结果
在浏览器访问:http://localhost:8080 即可
训练过程展示
上传的所有操作展示
guest 展示
感谢大家的关注和支持,希望我写的文章能够帮助大家!
如有不足,也希望大家能够多多指正!
参考网址如下: [1]blog.csdn.net/qq_38500228…
搭建过程中遇到的问题
VMware16安装、启动虚拟机报错:无法打开内核设备“\.\VMCIDev\VMX”: 操作成功完成。是否在安装 VMware Workstation 后重新引导?
把"true"改成"false"即可解决
网络配置问题
一开始参考大佬的网络配置为NAT模式,后面发现主机的虚拟网卡找不到,所以改用了桥接模式,效果都一样,那种方法简介就用那种方法