FATE联邦学习初探(二)

本文分享了作者使用FATE平台的Pipeline进行联邦学习的实践经验,详细介绍了安装配置流程、解决权限问题的方法及数据上传的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此为我的联邦学习记录贴,如果有问题还希望大家能够及时指正,所有内容都是按照FATE给的案例进行学习的。

安装完环境之后,首先学习的是使用Pipeline进行上传数据。参考FATE/pipeline_tutorial_upload.ipynb at master · FederatedAI/FATE (github.com)

第一步   为了使用Pipeline 我们需要安装fate_client,安装过程如下:

pip install fate_client

接下来验证是否安装成功

pipeline --help

 出现以上界面则说明安装成功。

单机部署版本中,FATE Flow Service 默认在127.0.0.1:9380中,我们需要执行他

pipeline init --ip 127.0.0.1 --port 9380

在执行过程中我遇到了一个问题,执行时给我报了权限错误

这是因为我使用的不是root用户,没有访问权限,如果切换到root用户则可以成功执行,另一个比较笨的办法是使用  sudo chmod 777  文件名   将指定的文件的权限。还有就是在一开始进行安装的时候,官方也进行了说明,可以使用root用户给要使用的用户赋予sudo权限。

 

 执行成功回显示以下信息

 接下来执行数据上传

我是新建了一个python程序,内容如下所示,这里和文档不同是我的如果不使用 import os 会报错,还有就是要注意,

data_base = "./"    这个要根据你自己文件的所在位置进行更改
from pipeline.backend.pipeline import PipeLine
import os

pipeline_upload = PipeLine().set_initiator(role='guest', party_id=9999).set_roles(guest=9999)

partition = 4



dense_data_guest = {"name": "breast_hetero_guest", "namespace": f"experiment"}
dense_data_host = {"name": "breast_hetero_host", "namespace": f"experiment"}
tag_data = {"name": "breast_hetero_host", "namespace": f"experiment"}



data_base = "./"
pipeline_upload.add_upload_data(file=os.path.join(data_base, "examples/data/breast_hetero_guest.csv"),
                                table_name=dense_data_guest["name"],             # table name
                                namespace=dense_data_guest["namespace"],         # namespace
                                head=1, partition=partition)               # data info

pipeline_upload.add_upload_data(file=os.path.join(data_base, "examples/data/breast_hetero_host.csv"),
                                table_name=dense_data_host["name"],
                                namespace=dense_data_host["namespace"],
                                head=1, partition=partition)

pipeline_upload.add_upload_data(file=os.path.join(data_base, "examples/data/breast_hetero_host.csv"),
                                table_name=tag_data["name"],
                                namespace=tag_data["namespace"],
                                head=1, partition=partition)


pipeline_upload.upload(drop=1)

关于代码内容也很好理解,首先是引用了Pipeline库和os库,并调用了上传函数。

执行成功后,结果显示如下:

 大家如果有什么不同的意见可以随时留言一起讨论。有问题也欢迎指正!

### FATE联邦学习框架概述 FATE(Federated AI Technology Enabler)是一个开源的联邦学习框架,旨在提供安全、高效的多方联合建模解决方案。它支持多种类型的联邦学习模式,包括但不限于横向联邦学习和纵向联邦学习。 #### 横向联邦学习案例 在实际应用中,当参与方的数据特征空间相同而样本ID不同的情况下,可以采用横向联邦学习的方式进行协作建模[^1]。这种方式能够有效利用各方数据的优势,提升模型性能的同时保护隐私。 #### 终端命令操作指南 为了方便用户管理任务流程,在FATE框架中可以通过`flow`命令来完成一系列的操作,比如提交任务等。具体而言,通过编写配置文件(通常是JSON格式),定义好训练所需的各种参数之后,即可运行相应的脚本启动作业[^2]。例如: ```bash flow job submit -c test_hetero_linr_train_job_conf.json -d test_hetero_linr_train_job_dsl.json ``` 上述命令中的两个JSON文件分别代表了DSL(Domain Specific Language)描述以及具体的配置选项集合。 #### 可视化工具——FATEBoard 除了强大的后台处理能力之外,FATE还配备了一个图形界面叫做FATEBoard,用于监控整个实验过程的状态变化情况以及其他重要指标展示功能[^3]。这使得研究人员无需频繁切换窗口查看日志信息就能直观理解当前进展如何。 ### 安装部署与文档获取途径 对于初次接触该系统的开发者来说,可以从官方仓库下载最新版本源码包或者进制分发版来进行本地环境搭建测试;与此同时也可以查阅项目主页上的详细介绍资料进一步加深认识程度。通常情况下这些资源会被托管于GitHub平台之上供全球访问者自由取阅。 以下是几个可能对你有帮助的相关链接地址模板(需自行替换为真实URL): - **官方网站**: https://fate.apache.org/ - **GitHub Repository**: https://github.com/FederatedAI/FATE - **User Documentation**: https://fate.readthedocs.io/ 请注意以上仅为示意性质的内容结构安排建议,请根据自己实际情况调整适用范围内的细节部分。
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值