目录
一.数据上传:
二.启动fate
数据来源:
GitHub链接:GitHub - FederatedAI/FATE: An Industrial Grade Federated Learning Framework
国内链接:FATE: FATE(Federated AI Technology Enabler)是基于联邦机器学习技术的一个框架,其旨在提供安全的计算框架来支持联邦 AI 生态 - Gitee.com
在fate官方文件里面有类似scorecard_testsuite.json这样的文件,里面攥写了需要上传的数据:
{
"data": [
{
"file": "/fate/logs/scorecord/default_credit_hetero_host.csv",
"head": 1,
"partition": 16,
"table_name": "default_credit_hetero_host",
"namespace": "experiment",
"role": "host_0"
},
{
"file": "/fate/logs/scorecord/default_credit_hetero_guest.csv",
"head": 1,
"partition": 16,
"table_name": "default_credit_hetero_guest",
"namespace": "experiment",
"role": "guest_0"
}
],
"tasks": {
"scorecard": {
"conf": "test_scorecard_job_conf.json",
"dsl": "test_scorecard_job_dsl.json"
}
}
}
然后需要创建2个数据上传文件不妨,命名为upload_conf.json和upload_guest.json:
{
"file": "/fate/logs/scorecard/default_credit_hetero_host.csv",
"table_name": "default_credit_hetero_host",
"namespace": "experiment",
"head": 1,
"partition": 16,
"work_mode": 0,
"backend": 0,
"role": "host_0"
}
{
"file": "/fate/logs/scorecard/default_credit_hetero_guest.csv",
"table_name": "default_credit_hetero_guest",
"namespace": "experiment",
"head": 1,
"partition": 16,
"work_mode": 0,
"backend": 0,
"role": "guest_0"
}
这里的路径一定要是绝对路径。
docker start fate_python
docker start fate_fateboard
显示结果为:这里主要看后面两个容器是否存在,redis和mysql对于数据上传无影响。
如果启动失败: 可能是名字错了使用代码查看,启动对应的容器
docker ps -a
进入容器fate_python:
docker exec -t -i fate_python bash
root@837d347dc6e0:/fate#
python ${your_install_path}/fate_flow/fate_flow_client.py -f upload -c dsl_test/upload_data.json
路径一定要写对,这里的路径和原本的路径不太一样,你可以打开docker_standalone.yml文件查看你fate所对应的真实路径。fate_flow_client.py应该在fate/data里面。使用同样的方法上传第二个数据包。
我这里多增加了-drop 1代码行因为之前已经上传过数据了:
当然fate1.5.0以后可以使用代码:
flow data upload -c ${dsl}/upload_data.json
但是这个代码报错会很隐晦,不容易改正错误,比如有时报错文件内容缺少啥,但是可能是文件路径(一定要用docker的绝对路径)错误。
打开board_url网址:
这样完成两部分的数据上传,接下来进行模型训练。