Fixes #433 (closed).
Implementation logic: try to minimize changes, and delegate to #417 (closed) the improvement of the representation of model parameters and weights.
- a new method in the base aggregator called
get_weights_from_node_idthat returns the single numeric value of the weight associated to a specific node id, and fails if none or more than one were found
- before we supported two formats for weights: a list of floats or a list of dictionaries. The list of floats was only used in tests, because
Strategyalways returns a list of dictionaries. I dropped support for list of floats, which was confusing and prone to ordering issues.
I also provide a test that reproduces the bug.
Developer Certificate Of Origin (DCO)
By opening this merge request, you agree the Developer Certificate of Origin (DCO)
This DCO essentially means that:
- you offer the changes under the same license agreement as the project, and
- you have the right to do that,
- you did not steal somebody else’s work.
Project code files should begin with these comment lines to help trace their origin:
# This file is originally part of Fed-BioMed
# SPDX-License-Identifier: Apache-2.0
Code files can be reused from another project with a compatible non-contaminating license.
They shall retain the original license and copyright mentions.
CREDIT.md file and
credit/ directory shall be completed and updated accordingly.
Guidelines for MR review
- give a glance to DoD
- check coding rules and coding style
- check docstrings (eg run
Specific to some cases:
- update all conda envs consistently (
vpn, Linux and MacOS)
- if modified researcher (eg new attributes in classes) check if breakpoint needs update (
load_statein aggregators, strategies, secagg, etc.)