Pytorch 用.grad求全局_模型的梯度

Pytorch 用.grad求全局_模型的梯度,pytorch,federated-learning,Pytorch,Federated Learning,我正在联合学习环境中培训CNN模型。我更新我的local\u模型,然后对从local\u模型更新得到的权重进行平均,以获得我的全局\u模型的权重。由于我在我的本地_模型培训期间使用了loss.backward(),因此我可以使用以下方法获得梯度: updates_list = [] for item in model.parameters(): updates_list.append(copy.deepcopy(item.grad)) print(updates_list) 但是我不能

我正在联合学习环境中培训CNN模型。我更新我的
local\u模型
,然后对从
local\u模型
更新得到的
权重进行平均,以获得我的
全局\u模型
权重。由于我在我的
本地_模型
培训期间使用了
loss.backward()
,因此我可以使用以下方法获得梯度:

updates_list = []
for item in model.parameters():
    updates_list.append(copy.deepcopy(item.grad))
print(updates_list)

但是我不能对我的
全局\u模型
使用
.grad
,因为在对
局部\u模型
权重进行平均的过程中没有
backward()
函数使用。我的问题是,如何获得我的
全局_模型的更新梯度?

关于什么的梯度?如果您不使用
global_模型
来计算损失-它仅用作聚合权重的“容器”-那么您到底在寻找什么样的损失的梯度?