nvflare.apis.dxo module

class DXO(data_kind: str, data: dict, meta: Optional[dict] = None)[source]

Bases: object

Init the DXO.

The Data Exchange Object standardizes the data passed between communicating parties.

Parameters
  • data_kind – kind of data

  • data – clear-text data

  • meta – None or dict for any additional properties

get_meta_prop(key: str, default=None)[source]
get_meta_props()[source]
remove_meta_props(keys: List[str])[source]
set_meta_prop(key: str, value)[source]
to_bytes() bytes[source]

Serialize the DXO object into bytes.

Returns

object serialized in bytes.

to_shareable() Shareable[source]

Convert the DXO object into Shareable.

Returns

Shareable object.

update_meta_props(meta)[source]
update_shareable(s: Shareable) Shareable[source]
validate() str[source]
class DataKind[source]

Bases: object

ANALYTIC = 'ANALYTIC'
COLLECTION = 'COLLECTION'
METRICS = 'METRICS'
MODEL = 'MODEL'
WEIGHTS = 'WEIGHTS'
WEIGHT_DIFF = 'WEIGHT_DIFF'
class MetaKey[source]

Bases: object

INITIAL_METRICS = 'initial_metrics'
MODEL_OWNER = 'MODEL_OWNER'
NUM_STEPS_CURRENT_ROUND = 'NUM_STEPS_CURRENT_ROUND'
PROCESSED_ALGORITHM = 'PROCESSED_ALGORITHM'
PROCESSED_KEYS = 'PROCESSED_KEYS'
from_bytes(data: bytes) DXO[source]

Convert the data bytes into Model object.

Parameters

data – a bytes object

Returns

an object loaded by FOBS from data

from_shareable(s: Shareable) DXO[source]

Convert Shareable into a DXO object.

Parameters

s – Shareable object

Returns

DXO object.