PaddleDTX支持通过docker compose一键拉起测试网络。官网给出了环境需求:
-
docker,推荐版本18.03+
-
docker-compose,推荐版本1.26.0+
-
如果使用Mac启动服务,Docker Desktop 至少设置为4GB 运行时内存
服务启动和停止
1、一键启动脚本在PaddleDTX/scripts目录下,具体启动步骤如下:
$ git clone git@github.com:PaddlePaddle/PaddleDTX.git
$ cd PaddleDTX/scripts
$ sh network_up.sh start
支持启动基于Fabric区块链网络的DAI,命令如下:
$ sh network_up.sh start -b fabric
支持启动基于ipfs存储网络的DAI,命令如下:
$ sh network_up.sh start -s ipfs
支持三方的DNN算法,命令如下:
$ sh network_up.sh start -p true
支持界面可视化操作,启动paddledtx-visual时应指定可被浏览器访问的计算节点IP, 如在host为“106.13.169.234”的机器上启动PaddleDTX及其可视化服务,命令如下:
$ ./network_up.sh start -h 106.13.169.234
可视化服务启动之后,浏览器输入 http://106.13.169.234:8233/ 即可访问,用户使用前的节点配置参考网络启动说明
2、使用脚本可以快速销毁网络:
$ sh network_up.sh stop
销毁基于Fabric的DAI网络:
$ sh network_up.sh stop -b fabric
网络启动后,当打印 PaddleDTX starts successfully ! 即表示启动成功,用户可通过 ./paddledtx_test.sh 脚本快速体验PaddleDTX。
样本上传及任务发布
PaddleDTX当前支持纵向线性回归、纵向逻辑回归、纵向神经网络。下面以多元线性回归为例,演示训练和预测任务发布流程。
1、上传训练及预测样本文件
$ ./paddledtx_test.sh upload_sample_files
该命令共上传了14个文件,包括数据持有方A/B发布纵向线性回归、纵向逻辑回归训练和预测任务所需的8个样本文件,数据持有方A/B/C发布纵向深度神经网络训练和预测任务所需的6个样本文件。样本文件存储在xdb,并进行了双副本备份。
2、启动纵向线性回归训练任务,vlLinTrainfiles 取值为 步骤1 获取到的 Vertical linear train sample files
# 不启动模型评估
$ ./paddledtx_test.sh start_vl_linear_train -f $vlLinTrainfiles
# 启动模型评估
$ ./paddledtx_test.sh start_vl_linear_train -f $vlLinTrainfiles -e true
# 启动动态模型评估
$ ./paddledtx_test.sh start_vl_linear_train -f $vlLinTrainfiles -l true
任务发布成功后,会返回训练任务ID。模型评估默认采用k折交叉验证的评估方式,动态模型评估采用随机分割的评估方式。
3、启动纵向线性回归预测任务,vlLinPredictfiles 取值为步骤1获取到的 Vertical linear prediction sample files,linearModelTaskId 取值为步骤2返回的模型训练任务ID,发布预测任务前,请确保步骤2已经训练完成
$ ./paddledtx_test.sh start_vl_linear_predict -f $vlLinPredictfiles -m $linearModelTaskId
预测任务计算较快,计算完成会自动下载预测结果,并计算预测效果指标RMSE。
4、用户可查看任务状态,taskID为计算任务ID
$ ./paddledtx_test.sh gettaskbyid -i $taskID
纵向逻辑回归和神经网络的操作类似,不再赘述。