FATE | 单机版fate-模型训练-测试步骤

安装standalone版本fate请参考 FATE Stand-alone Deployment Guide

0. 总体流程

(1)数据准备(如果用默认的数据,就不需要准备了);
(2)把数据的路径,写到upload_host.json或者upload_guest.json的里,然后用fate_flow把数据upload到指定的namescope和table_name(json里设置);
(3)配置计算图的流程和模块:dsl.json文件;配置计算图中的数据、算法超参数等:conf.json文件;
(4)提交job进行训练:把前述信息给fate_flow,开始训练;
(5)提交job进行测试:upload测试数据,根据训练好的模型信息,修改测试配置文件,开始测试。

1. 进入fate环境并测试环境是否正常

CONTAINER_ID=`docker ps -aqf "name=fate_python"`
docker exec -t -i ${CONTAINER_ID} bash
bash ./python/federatedml/test/run_test.sh

2.数据准备和upload

2.1 host方upload训练数据

cd python/fate_flow
vi examples/upload_host.json

配置如下:(我把原来的数据分成了train和test部分)

{
  "file": "/fate/examples/data/breast_a_train.csv",
  "id_delimiter":",",
  "head": 1,
  "partition": 4,
  "work_mode": 0,
  "backend":0,
  "namespace": "experiment",
  "table_name": "breast_a_train"
}

upload数据

python fate_flow_client.py -f upload -c examples/upload_host.json

2.2 guest方upload训练数据

vi examples/upload_guest.json

配置如下:(我把原来的数据分成了train和test部分)

{
  "file": "/fate/examples/data/breast_b_train.csv",
  "id_delimiter":",",
  "head": 1,
  "partition": 4,
  "work_mode": 0,
  "backend":0,
  "namespace": "experiment",
  "table_name": "breast_b_train"
}

upload数据

python fate_flow_client.py -f upload -c examples/upload_guest.json

3. 模型训练—以纵向LR为例

3.1 进入python路径下

这里选择用v1版本的api,所以需要用fate_flow命令,到python路径下更方便

cd python

3.2 配置dsl文件

这个文件主要设置计算图的组建,默认算法参数就是hetero_lr。

vim /fate/examples/dsl/v1/hetero_logistic_regression/test_lr_with_feature_engineering_dsl.json

这个图里面包含intersection,feature binning 和 onehot encoder;


3.3 配置conf文件

这里可以设定party_id等:因为是单机版,都是10000;
可以设置数据集和算法超参数;
用默认的就可以。

vim /fate/examples/dsl/v1/hetero_logistic_regression/test_lr_with_feature_engineering_conf.json

3.4 提交训练job

python fate_flow/fate_flow_client.py -f submit_job -d /fate/examples/dsl/v1/hetero_logistic_regression/test_lr_with_feature_engineering_dsl.json -c /fate/examples/dsl/v1/hetero_logistic_regression/test_lr_with_feature_engineering_conf.json

3.5 查看fateboard训练情况和日志

登陆fateboard查看训练信息 :
(1)如果是本机就登陆localhost:8080;
(2)如果是远程服务器上运行,就登陆 服务IP:8080。
在这里插入图片描述


3.模型测试

3.1 upload测试数据

用前述方法把测试数据upload。

3.2 配置测试json文件

vim ../examples/dsl/v1/hetero_logistic_regression/test_predict_conf.json

配置文件,修改其中的model_version,配置如下:

{
    "initiator": {
        "role": "guest",
        "party_id": 10000
    },
    "job_parameters": {
        "work_mode": 0,
        "job_type": "predict",
        "model_id": "arbiter-10000#guest-10000#host-10000#model",
        "model_version": "202011060237179162088"
    },
    "role": {
        "guest": [
            10000
        ],
        "host": [
            10000
        ],
        "arbiter": [
            10000
        ]
    },
    "role_parameters": {
        "guest": {
            "args": {
                "data": {
                    "eval_data": [
                        {
                            "name": "breast_b_test",
                            "namespace": "experiment"
                        }
                    ]
                }
            }
        },
        "host": {
            "args": {
                "data": {
                    "eval_data": [
                        {
                            "name": "breast_a_test",
                            "namespace": "experiment"
                        }
                    ]
                }
            }
        }
    }
}

3.3 提交测试job

python fate_flow/fate_flow_client.py -f submit_job -c ../examples/dsl/v1/hetero_logistic_regression/test_predict_conf.json

fateboard上predict的job如下:
在这里插入图片描述

点开guest的job,可以看到测试集上的输出结果:
在这里插入图片描述

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值