/FedShapley

Profit Allocation for Federated Learning

Primary LanguagePythonMIT LicenseMIT

Usage of the algorithms

Environment

python3.6

TensorFlow 2.0.0 & TensorFlow Federated 0.10.0

OS: Ubuntu

Run the algorithms

Step1

python3 ./TensorflowFL/Same_Def.py > ./result/output_Same_Def.txt

python3 ./TensorflowFL/Same_OR.py > ./result/output_Same_OR.txt

python3 ./TensorflowFL/Same_MR.py > ./result/output_Same_MR.txt

python3 ./TensorflowFL/Same_Group.py > ./result/output_Same_Group.txt

python3 ./TensorflowFL/Same_Trunc.py > ./result/output_Same_Trunc.txt

...

python3 ./TensorflowFL/NoiseY_Def.py > ./result/output_NoiseY_Def.txt

python3 ./TensorflowFL/NoiseY_OR.py > ./result/output_NoiseY_OR.txt

python3 ./TensorflowFL/NoiseY_MR.py > ./result/output_NoiseY_MR.txt

python3 ./TensorflowFL/NoiseY_Group.py > ./result/output_NoiseY_Group.txt

python3 ./TensorflowFL/NoiseY_Trunc.py > ./result/output_NoiseY_Trunc.txt

PS: The key for WolframCloud has expired and a new one is needed

Step2

cd result/

python3 MR_egalitarianism.py > ./output_MR_with_Ega.txt

PS: Shapley Values of other algorithms are at the end of output_ [ Setting]_ [Alg].txt

Description of the datasets

MNIST data set http://yann.lecun.com/exdb/mnist/.

  1. "test_images1_.txt" & "test_labels_.txt" : the processed test dataset, and are generated by "generate_test_data.py"
  2. "initial_model_parameters.txt" : the randomly initialized model, and is generated by "generate_initial_model_para.py"
  3. The train dataset will be automatically loaded in the codes: tf.keras.datasets.mnist.load_data()