tf-encrypted介绍和代码示例

目录

一.介绍

二.代码示例

三.相关文件的介绍


一.介绍

TF Encrypted是TensorFlow中用于加密机器学习的框架,是一个用于安全多方计算(MPC)机器学习的开源框架。它看起来和感觉上都像TensorFlow,利用KerasAPI的易用性,同时通过安全多方计算和同态加密对加密数据进行训练和预测。TF Encrypted旨在使保护隐私的机器学习变得容易,而不需要密码学、分布式系统或高性能计算方面的专业知识。

二.代码示例

假设爱丽丝是银行,鲍勃是政府。Alice和Bob认识许多共同的个人,双方从不同方面了解有关个人的一些信息(例如,Alice了解他们的信用卡账单,而Bob了解他们的税务信息),但只有Bob知道这些个人是否有欺诈历史(由label=1或0表示)。现在Bob想在Alice的帮助下建立一个欺诈检测模型。爱丽丝愿意合作,但她认为她的用户信息敏感的部分,不愿意直接分享。假设数据集包含7000个样本和32个特征,其中16个由Alice持有,另外16个(以及标签)由Bob持有。

GitHub源码        百度云盘源码,提取码m108

1初始化:

# python3 --version
Python 3.6.9
# pip3 --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)
#pip3 install tensorflow==1.13.2
#pip3 install tf-encrypted

2编辑config文件

{
    "alice": "machine1:port1",
    "bob": "machine2:port2",
    "crypto-producer": "machine3:port3"
}
sudo su
lsof -i:80

只要没有显示使用都可以指定成端口。

3复制文件到相应的机器。

Copy config.json , common.py , training_alice.py , aliceTrainFile.csv to machine1;

Copy config.json , training_bob.py , bobTrainFileWithLabel.csv to machine2;

Copy config.json , training_server.py to machine3;

4对应的机器运行相应的代码

python3 training_bob.py
python3 training_server.py
python3 training_alice.py

三.相关文件的介绍

common.py:里面主要包含模型的定义LogisticRegression,数据预处理DataOwner.provide_data,模型更新和模型预测ModelOwner。

training_bob.py :根据pond协议提供数据。

training_alice.py:根据pond协议提供数据,定义模型参数。

training_server.py:根据pond协议进行聚合训练。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值