Skip to content
forked from dhitaj/FedComm

FedComm: Federated learning as a medium for covert communication

Notifications You must be signed in to change notification settings

briland/FedComm

This branch is up to date with dhitaj/FedComm:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9a9407c · Oct 12, 2021

History

3 Commits
Oct 12, 2021
Oct 12, 2021
Oct 12, 2021
Oct 12, 2021
Oct 12, 2021
Oct 12, 2021
Oct 12, 2021
Oct 12, 2021
Oct 12, 2021
Oct 12, 2021
Oct 12, 2021
Oct 12, 2021

Repository files navigation

FedComm

Experiments are produced on MNIST, CIFAR-10, and WikiText-2 datasets.

Setting up the environment

  • Install the requirements.
pip install -r requirements.txt

Data

  • Download the respective datasets and put them under 'data/' directory.

Running the experiments

  • To run the FedComm experiment:
python fedcomm.py

Setting the experiment parameters

To run the experiments in different conditions change the parameters in config.json file.

Federated Learning Parameters

  • num_users:Number of total users that have signed up for collaborating. (Default is 100).
  • frac: Fraction of users to be used for federated updates. Default is 1.0 (i.e., 100% participation).
  • epochs: Number of global training epochs. Default is 1000.
  • dataset: Default: 'mnist'. Options: 'mnist', 'cifar10', 'wiki'.

Message transmission parameters:

  • senders: Fraction of participants in the federated learning scheme that will act as senders. Default: 0.1 (i.e., 10% of the participants).
  • payload: The extension of the payload file (under payloads/ directory. Default 'txt', Options: 'txt', 'png'.
  • injection: The FL global round when the senders should start transmitting the message. Default 10.
  • stealthy: The level of stealthiness of the senders. Default 'non', Options: 'non', 'inter', 'full'.
  • run_name: A name given to the particular run. It will create a directory structure where it will store model checkpoints, extracted payloads, train accuracy and loss values.

About

FedComm: Federated learning as a medium for covert communication

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%