Home

Awesome

Robust Collaborative Learning with Linear Gradient Overhead

Code for ICML2023 paper.

Software dependencies

Python 3.7.3 has been used to run our scripts.

Besides the standard libraries associated with Python 3.7.3, our scripts have been tested with<sup>2</sup>:

LibraryVersion
numpy1.19.1
torch1.6.0
torchvision0.7.0
pandas1.1.0
matplotlib3.0.2
PIL7.2.0
requests2.21.0
urllib31.24.1
chardet3.0.4
certifi2018.08.24
idna2.6
six1.15.0
pytz2020.1
dateutil2.6.1
pyparsing2.2.0
cycler0.10.0
kiwisolver1.0.1
cffi1.13.2

<sup>2</sup><sub>this list is automatically generated (see get_loaded_dependencies() in tools/misc.py). Some dependencies depend on others, while others are optional (e.g., only used to process the results and produce the plots).</sub>

We list below the OS on which our scripts have been tested:

Hardware dependencies

Although our experiments are time-agnostic, we list below the hardware components used:

Command

All our results can be reproduced using the following two commands. The first command is used to reproduce all results on MNIST. The second command reproduces all results on CIFAR-10. In the root directory:

$ python3 reproduce.py
$ python3 reproduce_cifar.py

Please be aware these scripts require non-negligible disk space.

Depending on the hardware, instructing the script to launch several runs per available GPU may reduce the total runtime. For instance, to push up to 4 concurrent runs per GPU:

$ python3 reproduce.py --supercharge 4

On our hardware, reproducing all our results (from scratch) with both commands takes approximately 5 days.