FATE联邦学习初探(二)

此为我的联邦学习记录贴,如果有问题还希望大家能够及时指正,所有内容都是按照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库,并调用了上传函数。

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

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 20
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值