FATE联邦学习框架简易使用实践

一、开始

开始之前,先确保部署的FATE框架运行正常 (部署指南),可以使用官方的几个示例进行测试,若检查无误后,则可以开始正式使用。

二、框架基本流程

对于集群部署情况,先根据不同的部署方式,进入对应的框架环境内,如使用docker-compose部署,则先进入对应容器内:

docker exec -it confs-<party-id>_client_1 bash

在FATE框架中,在终端中使用 flow 命令执行FATE提交任务等相关操作。执行的任务会在FATEBoard中显示出来。训练模型的参数需要写在json文件中,下面进行介绍。

1.上传数据集

要训练任务,自然是要数据的,通过以下命令上传数据集:

flow data upload -c uploadconf.json

uploadconf.json的格式如下:

{
  "file": "housing_1_train.csv",
  "table_name": "homo_housing_1_train",
  "namespace": "homo_host_housing_train1",
  "head": 1,
  "partition": 16
}

注意其中的table_name以及namespace,在之后的两个json文件中,需要注意与之对应。

2.上传conf配置以及dsl配置

conf配置用于设置参与训练的节点方、具体算法的参数调整等。dsl文件则用于定义任务流水线形式。可以先查看官方的线性回归以及逻辑回归案例,在其基础上修改成自己想要的运行形式。

配置完成后,使用以下命令上传配置至框架系统中:

flow job submit -c xxxconf.json -d xxxdsl.json

此时,若以上配置均正确,则系统将会开始训练模型,等到FATEBoard内任务均显示success后则训练完成。

3.部署模型与加载

在提交conf和dsl文件后,终端内会输出模型的版本和id,通过以下命令部署模型:

flow model deploy --model-id <模型id> --model-version <模型版本>

修改加载模型的配置后,使用以下命令加载:

flow model load -c fateflow/examples/model/publish_load_model.json

修改绑定模型的配置后,使用以下命令绑定:

flow model bind -c fateflow/examples/model/bind_model_service.json

此时模型应该已经可以实际使用了,此时向{SERVING_SERVICE_IP}:8059/federation/v1/inference发送对应的参数,其将返回一个在线推理的结果:

$ curl -X POST -H 'Content-Type: application/json' -i 'http://192.168.7.2:8059/federation/v1/inference' --data '{
  "head": {
    "serviceId": "test"
  },
  "body": {
    "featureData": {
        "x0": 1.88669,
        "x1": -1.359293,
        "x2": 2.303601,
        "x3": 2.00137,
        "x4": 1.307686
    },
    "sendToRemoteFeatureData": {
        "phone_num": "122222222"
    }
  }
}'

output:

{"retcode":0,"retmsg":"","data":{"score":0.018025086161221948,"modelId":"guest#9999#arbiter-10000#guest-9999#host-10000#model","modelVersion":"202111240318516571130","timestamp":1637743473990},"flag":0}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值