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 :
DifferentialPrivacyAdaptiveBaseDP centralisé basé sur les messages avec clipping adaptatif côté serveur.
Methods
aggregate_evaluate(server_round, replies)Agrège les MetricRecords dans les Messages reçus.
aggregate_train(server_round, replies)Agrège les ArrayRecords et les MetricRecords dans les Messages reçus.
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¶
Agrège les MetricRecords dans les Messages reçus.
- aggregate_train(server_round: int, replies: Iterable[Message]) tuple[ArrayRecord | None, MetricRecord | None][source]¶
Agrège les ArrayRecords et les MetricRecords dans les Messages reçus.
- 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, should_stop: Callable[[int, Result], bool] | 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)) – Maximum number of federated learning rounds to execute.
timeout (float (default: 3600)) – Timeout in seconds for waiting for node responses. Outstanding responses from nodes that become unavailable are replaced with error replies.
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.
should_stop (Callable[[int, Result], bool], optional) – Optional predicate to determine whether to stop training early. Called at the end of each round with the round number and accumulated results. Return True to stop and return the model and metrics collected so far. Not called for round zero. Results must not be modified. Defaults to None (no early stopping).
- 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