One can install our environment with Anaconda: conda env create -f flearn.yml
ModelNet40 12-view PNG dataset can be downloaded from Google Drive. The code expects the dataset to be present in the current working directory in a folder named "view".
Prerequisite for Mimic3:
Follow the instructions in mimic3-benchmark to download and pre-sanitize the datasets. After the extraction and sanitization is done, put the raw train, test and validation files in ~/data/mimi3lstm
directory.
To run experiments using the batch scripts you can use the shell scripts we have provided.
For Cifar10 experiments, run:
./sbatch_cifar.sh
For Modelnet40 experiments, run:
./sbatch_modelnet.sh
For Mimic3 experiments, run:
./sbatch_mimic3.sh
python cifar_journal.py [--seed [Seed to use]] [--hubs [Number of hubs/silos]]
[--clients [Number of clients in each silo]]
[--gepochs [Number of global iterations]]
[--Q [Number of local iterations per global iteration]]
[--batchsize [Overall number of samples selected in each iteration across all clients in each silo]]
[--lr [Learning Rate of SGD]]
[--momentum [Momentum in SGD (not used)]]
[--evalafter [Evaluate after number of local iterations]]
python modelnet_journal.py [--seed [Seed to use]] [--hubs [Number of hubs/silos]]
[--clients [Number of clients in each silo]]
[--gepochs [Number of global iterations]]
[--Q [Number of local iterations per global iteration]]
[--batchsize [Overall number of samples selected in each iteration across all clients in each silo]]
[--lr [Learning Rate of SGD]]
[--momentum [Momentum in SGD (not used)]]
[--evalafter [Evaluate after number of local iterations]]
[--modelnet_type [Determine the type of Modelnet used. Possible values ModelNet10 or ModelNet40.]]
python mimic3_journal.py [--seed [Seed to use]] [--hubs [Number of hubs/silos]]
[--clients [Number of clients in each silo]]
[--gepochs [Number of global iterations]]
[--Q [Number of local iterations per global iteration]]
[--batchsize [Overall number of samples selected in each iteration across all clients in each silo]]
[--lr [Learning Rate of SGD]]
[--momentum [Momentum in SGD (not used)]]
[--evalafter [Evaluate after number of local iterations]]