Source code for fl4health.parameter_exchange.packing_exchanger

from typing import Generic, TypeVar

from flwr.common.typing import NDArrays

from fl4health.parameter_exchange.full_exchanger import FullParameterExchanger
from fl4health.parameter_exchange.parameter_packer import ParameterPacker

T = TypeVar("T")


[docs] class FullParameterExchangerWithPacking(FullParameterExchanger, Generic[T]): def __init__(self, parameter_packer: ParameterPacker[T]) -> None: super().__init__() self.parameter_packer = parameter_packer
[docs] def pack_parameters(self, model_weights: NDArrays, additional_parameters: T) -> NDArrays: return self.parameter_packer.pack_parameters(model_weights, additional_parameters)
[docs] def unpack_parameters(self, packed_parameters: NDArrays) -> tuple[NDArrays, T]: return self.parameter_packer.unpack_parameters(packed_parameters)