Data Exchange Object (DXO)

The Data Exchange Format (nvflare.apis.dxo.DXO) in NVIDIA FLARE standardizes the data passed between the communicating parties.



class MetaKey(object):

    NUM_STEPS_CURRENT_ROUND = "NUM_STEPS_CURRENT_ROUND"
    MODEL_OWNER = "MODEL_OWNER"
    PROCESSED_ALGORITHM = "PROCESSED_ALGORITHM"
    PROCESSED_KEYS = "PROCESSED_KEYS"
    INITIAL_METRICS = "initial_metrics"


_KEY_KIND = "kind"

data_kind keeps track of the kind of data for example “WEIGHTS” or “WEIGHT_DIFF”.

meta is a dict that can contain additional properties.

The method to_shareable() produces a Shareable, and a DXO can be retrieved from a Shareable with nvflare.apis.dxo.from_shareable().

It is recommended to use DXO to maintain consistency in managing the data throughout the FL system.