def _calculate_model_delta(self, init_model, updated_model):
if not isinstance(init_model, list):
init_model = [init_model]
updated_model = [updated_model]
model_deltas = list()
for model_index in range(len(init_model)):
# model_delta = copy.deepcopy(init_model[model_index])
# for key in init_model[model_index].keys():
# model_delta[key] = updated_model[model_index][
# key] - init_model[model_index][key]
# added by me, for pFL
model_delta = copy.deepcopy(updated_model[model_index])
for key in updated_model[model_index].keys():
model_delta[key] = updated_model[model_index][
key] - init_model[model_index][key]
model_deltas.append(model_delta)
if len(model_deltas) > 1:
return model_deltas
else:
return model_deltas[0]
The
_calculate_model_delta()may need to be modified to the code below to satisfy running pFL, since theupdated_modelis a subset of theinit_model: