script_bash_FL_diffFP_mnist_cnn.sh 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #!/bin/bash
  2. # Comments line start with a #
  3. # Commands are surrounde by ()
  4. # Website on how to write bash script https://hackernoon.com/know-shell-scripting-202b2fbe03a8
  5. # Set GPU device
  6. GPU_ID="cuda:0"
  7. # ================ 32-bit ================
  8. # This is for FL for 32-bit floating point
  9. # IID
  10. python federated_main.py --local_ep=1 --local_bs=10 --frac=0.1 --model=cnn --dataset=mnist --iid=1 --gpu=1 --lr=0.01 --test_acc=97 --epochs=100
  11. # NON-IID
  12. python federated_main.py --local_ep=1 --local_bs=10 --frac=0.1 --model=cnn --dataset=mnist --iid=0 --gpu=1 --lr=0.01 --epochs=300 --test_acc=97
  13. # This is for 2 clusters HFL for 32-bit floating point
  14. # IID
  15. python federated-hierarchical2_main.py --local_ep=1 --local_bs=10 --frac=0.1 --Cepochs=10 --model=cnn --dataset=mnist --iid=1 --num_cluster=2 --gpu=1 --lr=0.01 --epochs=100
  16. # NON-IID
  17. python federated-hierarchical2_main.py --local_ep=1 --local_bs=10 --frac=0.1 --Cepochs=10 --model=cnn --dataset=mnist --iid=0 --num_cluster=2 --gpu=1 --lr=0.01 --epochs=100
  18. # This is for 4 clusters HFL for 32-bit floating point
  19. # IID
  20. python federated-hierarchical4_main.py --local_ep=1 --local_bs=10 --frac=0.1 --Cepochs=10 --model=cnn --dataset=mnist --iid=1 --gpu=1 --lr=0.01 --epochs=100 --num_cluster=4
  21. # NON-IID
  22. python federated-hierarchical4_main.py --local_ep=1 --local_bs=10 --frac=0.1 --Cepochs=10 --model=cnn --dataset=mnist --iid=0 --gpu=1 --lr=0.01 --epochs=100 --num_cluster=4
  23. # This is for 8 clusters HFL for 32-bit floating point
  24. # IID
  25. python federated-hierarchical8_main.py --local_ep=1 --local_bs=10 --Cepochs=10 --model=cnn --dataset=mnist --iid=1 --gpu=1 --lr=0.01 --epochs=30 --num_cluster=8 --test_acc=97
  26. # NON-IID
  27. python federated-hierarchical8_main.py --local_ep=1 --local_bs=10 --Cepochs=10 --model=cnn --dataset=mnist --iid=0 --gpu=1 --lr=0.01 --epochs=30 --num_cluster=8 --test_acc=97
  28. # ================ 16-bit ================
  29. # This is for 1 cluster FL for 16-bit floating point
  30. python ./federated_main_fp16.py --local_ep=1 --local_bs=10 --frac=0.1 --model=cnn --dataset=mnist --iid=1 --gpu=1 --gpu_id=$GPU_ID --lr=0.01 --test_acc=97 --epochs=100
  31. python ./federated_main_fp16.py --local_ep=1 --local_bs=10 --frac=0.1 --model=cnn --dataset=mnist --iid=0 --gpu=1 --gpu_id=$GPU_ID --lr=0.01 --epochs=261 --test_acc=97
  32. # This is for 2 clusters FL for 16-bit floating point
  33. python ./federated-hierarchical2_main_fp16.py --local_ep=1 --local_bs=10 --frac=0.1 --Cepochs=10 --model=cnn --dataset=mnist --iid=1 --num_cluster=2 --gpu=1 --gpu_id=$GPU_ID --lr=0.01 --epochs=100
  34. python ./federated-hierarchical2_main_fp16.py --local_ep=1 --local_bs=10 --frac=0.1 --Cepochs=10 --model=cnn --dataset=mnist --iid=0 --num_cluster=2 --gpu=1 --gpu_id=$GPU_ID --lr=0.01 --epochs=100
  35. # This is for 4 clusters FL for 16-bit floating point
  36. python ./federated-hierarchical4_main_fp16.py --local_ep=1 --local_bs=10 --frac=0.1 --Cepochs=10 --model=cnn --dataset=mnist --iid=1 --gpu=1 --gpu_id=$GPU_ID --lr=0.01 --epochs=100 --num_cluster=4
  37. python ./federated-hierarchical4_main_fp16.py --local_ep=1 --local_bs=10 --frac=0.1 --Cepochs=10 --model=cnn --dataset=mnist --iid=0 --gpu=1 --gpu_id=$GPU_ID --lr=0.01 --epochs=100 --num_cluster=4
  38. # This is for 8 clusters FL for 16-bit floating point
  39. python ./federated-hierarchical8_main_fp16.py --local_ep=1 --local_bs=10 --frac=0.1 --Cepochs=10 --model=cnn --dataset=mnist --iid=1 --gpu=1 --gpu_id=$GPU_ID --lr=0.01 --epochs=30 --num_cluster=8
  40. python ./federated-hierarchical8_main_fp16.py --local_ep=1 --local_bs=10 --frac=0.1 --Cepochs=10 --model=cnn --dataset=mnist --iid=0 --gpu=1 --gpu_id=$GPU_ID --lr=0.01 --epochs=30 --num_cluster=8