DifferentialPrivacyServerSideAdaptiveClipping

class DifferentialPrivacyServerSideAdaptiveClipping(strategy: Strategy, noise_multiplier: float, num_sampled_clients: int, initial_clipping_norm: float = 0.1, target_clipped_quantile: float = 0.5, clip_norm_lr: float = 0.2, clipped_count_stddev: float | None = None)[source]

Bases : DifferentialPrivacyAdaptiveBase

DP centralisé basé sur les messages avec une éclissure serveur adaptative.

Methods

aggregate_evaluate(server_round, replies)

Aggrégation des MetricRecords reçus dans les Messages.

aggregate_train(server_round, replies)

Aggrégation des ArrayRecords et des MetricRecords reçus dans les Messages.

configure_evaluate(server_round, arrays, ...)

Configuration du prochain tour d'évaluation fédérée.

configure_train(server_round, arrays, ...)

Configure le prochain tour d'entraînement.

start(grid, initial_arrays[, num_rounds, ...])

Exécution de la stratégie d'apprentissage fédéré.

summary()

Loguer la configuration sommaire de la stratégie.

aggregate_evaluate(server_round: int, replies: Iterable[Message]) MetricRecord | None

Aggrégation des MetricRecords reçus dans les Messages.

aggregate_train(server_round: int, replies: Iterable[Message]) tuple[ArrayRecord | None, MetricRecord | None][source]

Aggrégation des ArrayRecords et des MetricRecords reçus dans les Messages.

configure_evaluate(server_round: int, arrays: ArrayRecord, config: ConfigRecord, grid: Grid) Iterable[Message]

Configuration du prochain tour d’évaluation fédérée.

configure_train(server_round: int, arrays: ArrayRecord, config: ConfigRecord, grid: Grid) Iterable[Message][source]

Configure le prochain tour d’entraînement.

start(grid: Grid, initial_arrays: ArrayRecord, num_rounds: int = 3, timeout: float = 3600, train_config: ConfigRecord | None = None, evaluate_config: ConfigRecord | None = None, evaluate_fn: Callable[[int, ArrayRecord], MetricRecord | None] | None = None) Result

Exécution de la stratégie d’apprentissage fédéré.

Exécuter le flux de travail complet d’apprentissage fédéré pour un nombre spécifié de tours, y compris l’entraînement, l’évaluation et l’évaluation centralisée facultative.

Paramètres:
  • grid (Grid) – Instance du Grid utilisée pour envoyer/recevoir des Messages à partir de nœuds exécutant une application ClientApp.

  • initial_arrays (ArrayRecord) – Paramètres initiaux du modèle (tableaux) à utiliser pour l’apprentissage fédéré.

  • num_rounds (int (default: 3)) – Nombre de tours d’apprentissage fédéré à exécuter.

  • timeout (float (default: 3600)) – Délai en secondes pour attendre les réponses des nœuds.

  • train_config (ConfigRecord, optional) – Configuration à envoyer aux nœuds pendant les tours d’entraînement. Si non défini, un ConfigRecord vide sera utilisé.

  • evaluate_config (ConfigRecord, optional) – Configuration à envoyer aux nœuds pendant les tours d’évaluation. Si non défini, un ConfigRecord vide sera utilisé.

  • evaluate_fn (Callable[[int, ArrayRecord], Optional[MetricRecord]], optional) – Fonction facultative pour l’évaluation centralisée du modèle global. Prend le numéro de tour serveur et le record tableau, retourne un MetricRecord ou None. Si fourni, sera appelé avant la première ronde et après chaque ronde. Par défaut à None.

Renvoie:

Résultats contenant les tableaux de modèles finaux ainsi que les métriques d’entraînement, les métriques d’évaluation et les métriques d’évaluation globales (si fourni) de toutes les rondes.

Type renvoyé:

Results

summary() None[source]

Loguer la configuration sommaire de la stratégie.