- Prerequisite Libraries
python3 -m pip install --user jupyterlab
python3 -m pip install --user tensorflow-gpu==1.14.0
python3 -m pip install --user networkx
python3 -m pip install --user sklearn
python3 -m pip install --user wurlitzer
- NS-3 Library for Network Simulation
unzip ns-3-allinone.zip
cd ns-3-allinone
./download.py
# When running 'build.py', make sure 'Python Bindings' item is enabled
./build.py --enable-examples --enable-tests -- --python=/usr/bin/python3.5
cd ns-3-dev
./waf shell
- Installation Test
python3 -c "import tensorflow as tf ; print(tf.__version__)"
python3 -c "import ns.core"
- Environment Variable
PYTHONPATH=$PYTHONPATH:[path to FL-Sim]
export PYTHONPATH
~/.local/bin/jupyter lab --allow-root --ip=0.0.0.0 --no-browser
Please refer to fl_util.py for the list of possible parameters
python3 main.py --modelName='cnn-femnist' --dataName='femnist' --algName='cgd'
python3 main.py --modelName='cnn-femnist' --dataName='femnist' --algName='fedavg' \
--nodeType='t' --opaque1=5
python3 main.py --modelName='cnn-femnist' --dataName='femnist' --algName='hier-favg' \
--nodeType='t' --edgeType='t' --opaque1=1 --opaque2=5
python3 main.py --modelName='cnn-femnist' --dataName='femnist' --algName='fedavg-ic' \
--nodeType='t' --edgeType='t' --opaque1=1 --opaque2=5
python3 -m pip list
Package Version
----------------------------- ----------------------
imageio 2.6.1
ipykernel 5.1.2
ipython 7.8.0
ipython-genutils 0.2.0
json5 0.8.5
jsonschema 3.0.2
jupyter-client 5.3.3
jupyter-core 4.5.0
jupyterlab 1.1.4
jupyterlab-server 1.0.6
Keras-Applications 1.0.7
Keras-Preprocessing 1.0.9
matplotlib 3.0.3
networkx 2.3
notebook 6.0.1
numpy 1.16.2
pickleshare 0.7.5
pip 19.0.3
python-apt 1.1.0b1+ubuntu0.16.4.8
python-dateutil 2.8.0
python-debian 0.1.27
python-systemd 231
scikit-image 0.15.0
scikit-learn 0.22.1
scipy 1.4.1
sklearn 0.0
tensorboard 1.14.0
tensorflow-estimator 1.14.0
tensorflow-gpu 1.14.0
wurlitzer 2.0.0