发布时间:2023-10-17 09:00
目录
前言
1.Dock镜像部署FATE
1.1 安装Centos和虚拟机
1.2 安装Docker 和 Docker-compose
1.3 FATE安装
2.FATE编程范式
3.用FATE实现横向逻辑回归
3.1数据集获取
3.2 数据输入
数据转化配置文件
3.3 模型训练与评估
总结
参考链接
FATE不过多介绍,本文主要是对《联邦学习实战》第五章的一个复现,由于书里面的FATE应该是v1.5.0之前的版本,现在FATE最新版已经是v1.8.0,一些路径,以及组件化配置的方式发生了改变,而且文中的方法是利用train_data去训练模型,同时也用train_data去评估模型,我们也在这里加了用test_data去评估模型的模块。
下面给出了跟FATE有关的三个网站,十分重要:
FATE官方网站
github
FATE文档
FATE支持Linux和Mac系统,支持单机部署、集群部署和KubeFATE部署三种方式,具体的部署安装请查看FATE的官方文档,对于Windows10系统,需要用虚拟机部署FATE,这里提供利用Docker镜像配置FATE单机部署的方法。
首先要安装Centos 7 的虚拟机,需要虚拟机的软件VMware,和Centos7的镜像文件。其中VM和Centos7都可以从网上下载。这里面推荐大家看这篇文章VMware16 的安装。
这里直接提供两篇文章参考,没什么难度,按照提示操作即可,注意别开科学上网。
CentOS7 搭建Docker环境
centos7 部署docker-compose
官方文档:FATE单机部署指南
# 部署环境变量
export version=1.8.0
# 拉取镜像
wget https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/fate/${version}/release/standalone_fate_docker_image_${version}_release.tar.gz
docker load -i standalone_fate_docker_image_${version}_release.tar.gz
docker images | grep federatedai/standalone_fate
# 启动镜像
docker run -d --name standalone_fate -p 8080:8080 federatedai/standalone_fate:${version};
docker ps -a | grep standalone_fate
# 进入容器
docker exec -it $(docker ps -aqf "name=standalone_fate") bash
官方文档里有教如何测试是否安装成功的:
Toy测试:
flow test toy -gid 10000 -hid 10000
如果成功,会出现如下语句:
success to calculate secure_sum, it is 2000.0
单元测试
fate_test unittest federatedml --yes
如果成功,屏幕显示类似下方的语句:
there are 0 failed test
注意:可能由于版本变化,或者其他原因,我的v1.8.0的单元测试是会报错的,但不影响后续FATE的使用。
这个算是使用FATE的重点,我们主要介绍下组件化配置。
FATE构建联邦学习模型有两种不同编程范式
组件化配置:模型训练拆分为不同的任务,每个任务以组建的形式通过有向无环图相连,联邦学习所需的配置参数在配置文件中定义。该模式中,用户只需自定义和提交配置文件,就可以直接执行联邦训练。