import torch
import syft as sy
'''
Part 9 - Intro to Encrypted Programs
http://localhost:8888/notebooks/git-home/github/PySyft/examples/tutorials/Part%2009%20-%20Intro%20to%20Encrypted%20Programs.ipynb
'''
'''
本例展示加密功能
用加密数据训练模型
'''
#pysyft需要hook
hook = sy.TorchHook(torch)
#创建三个工作节点
bob = sy.VirtualWorker(hook, id="bob")
alice = sy.VirtualWorker(hook, id="alice")
bill = sy.VirtualWorker(hook, id="bill")
#加密 加减 计算
def test_add_sub():
#x是一个常规tensor
x = torch.tensor([25])
#在加密共享之前先显示下工作节点上的数据
print(bob._objects)
print(alice._objects)
print(bill._objects)
#把x在三个工作节点上加密共享,每个节点上都存储一份加密值,注意,三个节点的值要合起来才能得到原值
encrypted_x = x.share(bob, alice, bill)
#加密共享后,展示三个工作节点上的数值
print('bob._objects = ', bob._objects)
print('alice._object = ', al
[pysyft-007]联邦学习pysyft从入门到精通--对数据进行加密并做运算
最新推荐文章于 2023-03-22 17:08:47 发布