nvflare.app_common.filters.exclude_vars module¶
- class ExcludeVars(exclude_vars: List[str] | str | None = None, data_kinds: List[str] | None = None)[source]¶
Bases:
DXOFilter
Exclude/Remove variables from Shareable.
- Parameters:
exclude_vars (Union[List[str], str, None] , optional) – variables/layer names to be excluded.
data_kinds – kinds of DXO object to filter
Notes
- Based on different types of exclude_vars, this filter has different behavior:
if a list of variable/layer names, only specified variables will be excluded. if a string, it will be converted into a regular expression, only matched variables will be excluded. if not provided or other formats the Shareable remains unchanged.
- process_dxo(dxo: DXO, shareable: Shareable, fl_ctx: FLContext) None | DXO [source]¶
Called by upper layer to remove variables in weights/weight_diff dictionary.
When the return code of shareable is not ReturnCode.OK, this function will not perform any process and returns the shareable back.
- Parameters:
dxo (DXO) – DXO to be filtered.
shareable – that the dxo belongs to
fl_ctx (FLContext) – only used for logging.
Returns: filtered dxo