文档:https://mp-spdz.readthedocs.io/en/latest/readme.html

github:https://github.com/data61/MP-SPDZ

 

使用:

下载 https://github.com/data61/MP-SPDZ/releases 这个

这个地方是示例文件,都是可以按照上述方法进行运行的

 

1.首先编译 

Scripts/tldr.sh
./compile.py adult 1 

2.然后在这个文件下就可以看到编译成功的文件

 

 3.然后运行:

Scripts/mascot.sh adult-1

4.其中输入的文件是(好像只能是int类型,且分隔符号是空格):

 

 

实现决策树的源代码:

 

 

运行决策树:

github: csiro-mlai/decision-tree-mpc (github.com)  这个参考很重要哦~

docker运行和调整:(每次修改在源码上面修改再重新生成docker就可以了)

4. 生成docker
sudo docker build -f Dockerfile --network=host -t xxrName .
5. 运行docker
sudo docker run -it xxrName bash
6. 进入docker内操作
这里就像是普通的linux的操作了
7. 删除该镜像
sudo docker image rm test_docker

sudo docker ps 查看当前运行的容器

 sudo docker stop xxxx 停止容器

sodu docker rm xxxx 删除容器

sudo docker image rm xxx 删除镜像

学习链接: https://yeasy.gitbook.io/docker_practice/

 

 

运行最后会输出运行的结果如下:

 

 

 

实现决策树的代码 如下:

 

 数据集的变化

 

 

运行自己的数据集和程序

1.修改数据集

 

 

2. 需要修改mpc程序

 

进入docker环境之后,可以再当前环境下修改文件(vi prepare.py 进行修改) 通过命令行来修改 不需要重复的build

比如 添加 

echo "aaaaaaaaaaa"  来进行查看 (.sh 脚本里面)

 

 

通过直接将数据输入到 Input-P0-0数据中 进行run  (但是目前数据处理的格式不太清楚)