自学内容网 自学内容网

fate2实战——数据上传+脚本测试

1.准备数据集

训练数据:risk_assessment_host.csv、risk_assessment_guest.csv

2.准备配置文件

upload_host.json

{
  "file": "/data/aby_lr/data/risk_assessment_host.csv",
  "head": true,
  "partitions": 20,
  "extend_sid": true,
  "meta": {
    "delimiter": ",",
    "match_id_name": "id"
  },
  "namespace": "experiment",
  "name": "risk_assessment_host"
}

upload_guest.json

{
"file": "/data/aby_lr/data/risk_assessment_guest.csv",  
"head": true, 
"partitions": 20, 
"extend_sid": true, 
"meta": {
"delimiter": ",", 
"label_name": "y", 
"match_id_name": "id" 
},
"namespace": "experiment", 
"name": "risk_assessment_guest"
}

3.数据上传

进入服务器准备:

host服务器IP:10.248.202.131

guest 服务器IP:10.248.202.216

进入文件目录: cd /data/aby_lr/

启动fate: source /data/projects/fate/bin/init_env.sh

双方将数据上传到 /data/aby_lr/data 目录下

host方执行:

pipeline init --ip 10.248.202.131 --port 9380

flow data upload -c json/upload_host.json

pipeline init --ip 10.248.202.216 --port 9380

注:(pipeline ip 切换后才能上传到fateflow,切回去才能执行test)

guest方执行:

flow data upload -c json/upload_guest.json

4.测试脚本train_lr.py

from fate_client.pipeline.components.fate import (
    SSHELR,
    Reader,
    PSI
)
from fate_client.pipeline import FateFlowPipeline
# create pipeline for training
pipeline = FateFlowPipeline().set_parties(guest="9999", host="10000")

# 训练数据集读取
reader_0 = Reader("reader_0")
reader_0.guest.task_parameters(namespace="experiment", name="risk_assessment_guest")
reader_0.hosts[0].task_parameters(namespace="experiment", name="risk_assessment_host")
psi_0 = PSI("psi_0", input_data=reader_0.outputs["output_data"])



lr_0 = SSHELR("lr_0",
                train_data=psi_0.outputs["output_data"],
                batch_size=10000,      #批大小
                tol=1e-5,             #容忍度
                epochs=1,            #迭代次数
                learning_rate=0.25,   #学习率
                early_stop="diff")

pipeline.add_tasks([reader_0, psi_0, lr_0])

# compile and train
pipeline.compile()
pipeline.fit()

在host或guest 执行 python test_lr.py

5.查看日志

cat /data/projects/fate/fate_flow/logs/${task_id}/guest/9999/INFO


原文地址:https://blog.csdn.net/niujinya/article/details/142516448

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!