<commit_before># DP-FTRL in Federated Learning

## Overview

Implements and experiments with DP-FTRLM (momentum variant of differential
private follow-the-regularized-leader) in federated learning. See "Practical and
Private (Deep) Learning without Sampling or Shuffling"
([arXiv link](https://arxiv.org/abs/2103.00039)) for algorithmic details. The
code in this folder is used for the StackOverflow experiments in the paper.

This folder is organized as following,

*   Two python drivers `run_emnist` and `run_stackoverflow` for
    [EMNIST](https://www.tensorflow.org/federated/api_docs/python/tff/simulation/datasets/emnist)
    and
    [StackOverflow](https://www.tensorflow.org/federated/api_docs/python/tff/simulation/datasets/stackoverflow).
*   The training loops is defined in `training_loop`. Compared to<commit_msg>Minor fix for FTRL README.<commit_after># DP-FTRL in Federated Learning

## Overview

Implements and experiments with DP-FTRLM (momentum variant of differentially
private follow-the-regularized-leader) in federated learning. See "Practical and
Private (Deep) Learning without Sampling or Shuffling"
([arXiv link](https://arxiv.org/abs/2103.00039)) for algorithmic details. The
code in this folder is for the StackOverflow federated learning (FL) experiments
in the paper.

This folder is organized as following,

*   Two python drivers `run_emnist` and `run_stackoverflow` for
    [EMNIST](https://www.tensorflow.org/federated/api_docs/python/tff/simulation/datasets/emnist)
    and
    [StackOverflow](https://www.tensorflow.org/federated/api_docs/python/tff/simulation/datasets/stackoverflow).
*   The training loops is defined in `training_loop`. Compared to
{'fraction_non_alphanumeric': 0.09182464454976304, 'fraction_numerical': 0.01066350710900474, 'mean_word_length': 5.119565217391305, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 6, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3694736', 'n_tokens_mistral': 530, 'n_tokens_neox': 486, 'n_words': 153}