DPFedAvgFixed#

class DPFedAvgFixed(strategy: Strategy, num_sampled_clients: int, clip_norm: float, noise_multiplier: float = 1, server_side_noising: bool = True)[源代码]#

基类:Strategy

封装器,用于为具有固定剪切功能的 DP 配置策略。

警告

This class is deprecated and will be removed in a future release.

Methods

aggregate_evaluate(server_round, results, ...)

使用给定的策略汇总评估损失。

aggregate_fit(server_round, results, failures)

使用非加权汇总法汇总训练结果。

configure_evaluate(server_round, parameters, ...)

使用指定策略配置下一轮评估。

configure_fit(server_round, parameters, ...)

配置包含差分隐私 (DP) 的下一轮训练。

evaluate(server_round, parameters)

使用策略中的评估函数评估模型参数。

initialize_parameters(client_manager)

使用给定的策略初始化全局模型参数。

aggregate_evaluate(server_round: int, results: List[Tuple[ClientProxy, EvaluateRes]], failures: List[Tuple[ClientProxy, EvaluateRes] | BaseException]) Tuple[float | None, Dict[str, bool | bytes | float | int | str]][源代码]#

使用给定的策略汇总评估损失。

aggregate_fit(server_round: int, results: List[Tuple[ClientProxy, FitRes]], failures: List[Tuple[ClientProxy, FitRes] | BaseException]) Tuple[Parameters | None, Dict[str, bool | bytes | float | int | str]][源代码]#

使用非加权汇总法汇总训练结果。

configure_evaluate(server_round: int, parameters: Parameters, client_manager: ClientManager) List[Tuple[ClientProxy, EvaluateIns]][源代码]#

使用指定策略配置下一轮评估。

参数:
  • server_round (int) -- 本轮联邦学习。

  • parameters (Parameters) -- 当前(全局)模型参数。

  • client_manager (ClientManager) -- 客户端管理器,用于管理当前连接的所有客户端。

返回:

evaluate_configuration -- 一个元组列表。列表中的每个元组都标识了一个`ClientProxy`和该特定`ClientProxy`的`EvaluateIns`。如果某个特定的 ClientProxy 未包含在此列表中,则表示该 ClientProxy 将不参与下一轮联合评估。

返回类型:

List[Tuple[ClientProxy, EvaluateIns]]

configure_fit(server_round: int, parameters: Parameters, client_manager: ClientManager) List[Tuple[ClientProxy, FitIns]][源代码]#

配置包含差分隐私 (DP) 的下一轮训练。

下一轮训练的配置包括与 DP 相关的信息,如片段规范和噪声 stddev。

参数:
  • server_round (int) -- 本轮联邦学习。

  • parameters (Parameters) -- 当前(全局)模型参数。

  • client_manager (ClientManager) -- 客户端管理器,用于管理当前连接的所有客户端。

返回:

fit_configuration -- 一个元组列表。列表中的每个元组都标识了一个`ClientProxy`和该特定`ClientProxy`的`FitIns'。如果某个特定的`ClientProxy`不在此列表中,则表示该`ClientProxy`将不参加下一轮联合学习。

返回类型:

List[Tuple[ClientProxy, FitIns]]

evaluate(server_round: int, parameters: Parameters) Tuple[float, Dict[str, bool | bytes | float | int | str]] | None[源代码]#

使用策略中的评估函数评估模型参数。

initialize_parameters(client_manager: ClientManager) Parameters | None[源代码]#

使用给定的策略初始化全局模型参数。