联邦学习框架fedml中集成谷歌提供的差分隐私框架opacus遇到的问题

联邦学习框架fedml中集成谷歌提供的差分隐私框架opacus遇到的问题

由于opacus提供的是DP-SGD,在fedml中将代码定位到具体客户端训练的.py文件中,如my_model_trainer_classification.py

联邦学习框架fedml中集成谷歌提供的差分隐私框架opacus遇到的问题_第1张图片

根据opacus的官网教程,在对应位置添加如下代码(超参要自己模型调整):

联邦学习框架fedml中集成谷歌提供的差分隐私框架opacus遇到的问题_第2张图片

保存,运行,在第一轮训练完第一个客户端,准备训练第二个客户端时报错,报错如下:“Trying to add hooks twice to the same model”,即对模型重复两次调梯度,怀疑可能是model = self.model这边有问题,遂将代码改为:

联邦学习框架fedml中集成谷歌提供的差分隐私框架opacus遇到的问题_第3张图片

即重新new了一个模型,抛弃使用self.model,并且将函数的返回值做了一定的修改,报错完美解决

你可能感兴趣的:(python,机器学习,安全)