
=== Start adding workers ===
=> Add worker SGDMWorker(index=0, momentum=0.9)
=> Add worker SGDMWorker(index=1, momentum=0.9)
=> Add worker SGDMWorker(index=2, momentum=0.9)
=> Add worker SGDMWorker(index=3, momentum=0.9)
=> Add worker SGDMWorker(index=4, momentum=0.9)
=> Add worker SGDMWorker(index=5, momentum=0.9)
=> Add worker SGDMWorker(index=6, momentum=0.9)
=> Add worker SGDMWorker(index=7, momentum=0.9)
=> Add worker SGDMWorker(index=8, momentum=0.9)
=> Add worker SGDMWorker(index=9, momentum=0.9)
=> Add worker SGDMWorker(index=10, momentum=0.9)
=> Add worker SGDMWorker(index=11, momentum=0.9)
=> Add worker SGDMWorker(index=12, momentum=0.9)
=> Add worker SGDMWorker(index=13, momentum=0.9)
=> Add worker SGDMWorker(index=14, momentum=0.9)
=> Add worker SGDMWorker(index=15, momentum=0.9)
=> Add worker SGDMWorker(index=16, momentum=0.9)
=> Add worker SGDMWorker(index=17, momentum=0.9)
=> Add worker SGDMWorker(index=18, momentum=0.9)
=> Add worker SGDMWorker(index=19, momentum=0.9)
=> Add worker ByzantineWorker(index=20)
=> Add worker ByzantineWorker(index=21)

=== Start adding graph ===
<codes.graph_utils.Dumbbell object at 0x7f52c868d490>

Train epoch 1
[E 1B0  |    704/60000 (  1%) ] Loss: 2.3066 top1=  9.2188

=== Peeking data label distribution E1B0 ===
Worker 0 has targets: tensor([3, 2, 2, 4, 3], device='cuda:0')
Worker 1 has targets: tensor([1, 0, 0, 4, 0], device='cuda:0')
Worker 2 has targets: tensor([4, 1, 0, 1, 0], device='cuda:0')
Worker 3 has targets: tensor([0, 1, 4, 1, 3], device='cuda:0')
Worker 4 has targets: tensor([0, 4, 1, 2, 4], device='cuda:0')
Worker 5 has targets: tensor([2, 2, 4, 4, 4], device='cuda:0')
Worker 6 has targets: tensor([1, 1, 4, 4, 3], device='cuda:0')
Worker 7 has targets: tensor([4, 4, 1, 3, 0], device='cuda:0')
Worker 8 has targets: tensor([1, 3, 1, 0, 4], device='cuda:0')
Worker 9 has targets: tensor([1, 3, 3, 3, 1], device='cuda:0')
Worker 10 has targets: tensor([8, 9, 7, 7, 9], device='cuda:0')
Worker 11 has targets: tensor([8, 9, 6, 6, 7], device='cuda:0')
Worker 12 has targets: tensor([8, 6, 5, 7, 8], device='cuda:0')
Worker 13 has targets: tensor([7, 6, 9, 6, 5], device='cuda:0')
Worker 14 has targets: tensor([8, 5, 8, 6, 7], device='cuda:0')
Worker 15 has targets: tensor([9, 5, 6, 8, 6], device='cuda:0')
Worker 16 has targets: tensor([7, 7, 8, 5, 8], device='cuda:0')
Worker 17 has targets: tensor([9, 7, 5, 6, 6], device='cuda:0')
Worker 18 has targets: tensor([7, 7, 7, 6, 6], device='cuda:0')
Worker 19 has targets: tensor([5, 7, 9, 9, 7], device='cuda:0')
Worker 20 has targets: tensor([3, 2, 2, 4, 3], device='cuda:0')
Worker 21 has targets: tensor([8, 9, 7, 7, 9], device='cuda:0')


[E 1B10 |   7744/60000 ( 13%) ] Loss: 1.4741 top1= 47.1875
[E 1B20 |  14784/60000 ( 25%) ] Loss: 1.0487 top1= 64.5312

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=1.4564 top1= 77.6342


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.6257 top1= 47.7865


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.6253 top1= 43.0789

Train epoch 2
[E 2B0  |    704/60000 (  1%) ] Loss: 0.7381 top1= 74.2188
[E 2B10 |   7744/60000 ( 13%) ] Loss: 0.4967 top1= 84.0625
[E 2B20 |  14784/60000 ( 25%) ] Loss: 0.4959 top1= 84.0625

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=1.0978 top1= 81.7508


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.2467 top1= 49.2889


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.0816 top1= 44.0705

Train epoch 3
[E 3B0  |    704/60000 (  1%) ] Loss: 0.3684 top1= 87.3438
[E 3B10 |   7744/60000 ( 13%) ] Loss: 0.2961 top1= 90.3125
[E 3B20 |  14784/60000 ( 25%) ] Loss: 0.3034 top1= 91.5625

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.9481 top1= 81.7308


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.5336 top1= 49.5893


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.6229 top1= 44.7817

Train epoch 4
[E 4B0  |    704/60000 (  1%) ] Loss: 0.2705 top1= 90.4688
[E 4B10 |   7744/60000 ( 13%) ] Loss: 0.2759 top1= 90.7812
[E 4B20 |  14784/60000 ( 25%) ] Loss: 0.2572 top1= 92.0312

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.8624 top1= 82.5321


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.9200 top1= 49.7095


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.6712 top1= 45.0321

Train epoch 5
[E 5B0  |    704/60000 (  1%) ] Loss: 0.2213 top1= 93.9062
[E 5B10 |   7744/60000 ( 13%) ] Loss: 0.1832 top1= 94.5312
[E 5B20 |  14784/60000 ( 25%) ] Loss: 0.2163 top1= 93.2812

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.8174 top1= 82.6322


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.8859 top1= 49.8297


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.8146 top1= 45.4026

Train epoch 6
[E 6B0  |    704/60000 (  1%) ] Loss: 0.1889 top1= 94.2188
[E 6B10 |   7744/60000 ( 13%) ] Loss: 0.1599 top1= 95.6250
[E 6B20 |  14784/60000 ( 25%) ] Loss: 0.1985 top1= 93.9062

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.7828 top1= 83.4235


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.8757 top1= 49.9800


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.8318 top1= 45.7632

Train epoch 7
[E 7B0  |    704/60000 (  1%) ] Loss: 0.1620 top1= 95.6250
[E 7B10 |   7744/60000 ( 13%) ] Loss: 0.1676 top1= 94.5312
[E 7B20 |  14784/60000 ( 25%) ] Loss: 0.2045 top1= 93.5938

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.7659 top1= 83.6538


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.8839 top1= 50.0100


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.7454 top1= 45.9736

Train epoch 8
[E 8B0  |    704/60000 (  1%) ] Loss: 0.1587 top1= 95.1562
[E 8B10 |   7744/60000 ( 13%) ] Loss: 0.1238 top1= 96.5625
[E 8B20 |  14784/60000 ( 25%) ] Loss: 0.1395 top1= 95.6250

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.7330 top1= 83.5036


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.9166 top1= 50.1703


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.9099 top1= 46.0938

Train epoch 9
[E 9B0  |    704/60000 (  1%) ] Loss: 0.1445 top1= 96.0938
[E 9B10 |   7744/60000 ( 13%) ] Loss: 0.1148 top1= 96.7188
[E 9B20 |  14784/60000 ( 25%) ] Loss: 0.1375 top1= 96.2500

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.7092 top1= 83.6839


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.8597 top1= 50.2704


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.0128 top1= 46.2740

Train epoch 10
[E10B0  |    704/60000 (  1%) ] Loss: 0.1246 top1= 96.8750
[E10B10 |   7744/60000 ( 13%) ] Loss: 0.1029 top1= 97.3438
[E10B20 |  14784/60000 ( 25%) ] Loss: 0.1256 top1= 95.7812

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.6699 top1= 84.6755


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=4.0587 top1= 50.2905


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.1289 top1= 46.4042

Train epoch 11
[E11B0  |    704/60000 (  1%) ] Loss: 0.1160 top1= 96.8750
[E11B10 |   7744/60000 ( 13%) ] Loss: 0.0988 top1= 97.0312
[E11B20 |  14784/60000 ( 25%) ] Loss: 0.1319 top1= 95.9375

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.6589 top1= 84.9960


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.9503 top1= 50.3105


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.0211 top1= 46.4343

Train epoch 12
[E12B0  |    704/60000 (  1%) ] Loss: 0.1249 top1= 96.4062
[E12B10 |   7744/60000 ( 13%) ] Loss: 0.1013 top1= 97.1875
[E12B20 |  14784/60000 ( 25%) ] Loss: 0.1210 top1= 96.5625

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.6498 top1= 84.9459


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.8552 top1= 50.3806


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.9261 top1= 46.5345

Train epoch 13
[E13B0  |    704/60000 (  1%) ] Loss: 0.1208 top1= 95.7812
[E13B10 |   7744/60000 ( 13%) ] Loss: 0.0963 top1= 97.1875
[E13B20 |  14784/60000 ( 25%) ] Loss: 0.1144 top1= 96.2500

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.6336 top1= 85.5168


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.9895 top1= 50.3806


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.7936 top1= 46.6046

Train epoch 14
[E14B0  |    704/60000 (  1%) ] Loss: 0.1588 top1= 95.0000
[E14B10 |   7744/60000 ( 13%) ] Loss: 0.0960 top1= 96.8750
[E14B20 |  14784/60000 ( 25%) ] Loss: 0.0880 top1= 97.0312

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.6236 top1= 85.5869


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.9359 top1= 50.4407


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.8284 top1= 46.6246

Train epoch 15
[E15B0  |    704/60000 (  1%) ] Loss: 0.0905 top1= 97.5000
[E15B10 |   7744/60000 ( 13%) ] Loss: 0.0723 top1= 97.6562
[E15B20 |  14784/60000 ( 25%) ] Loss: 0.0935 top1= 96.8750

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.6046 top1= 85.3666


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.9097 top1= 50.4607


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.9215 top1= 46.6747

Train epoch 16
[E16B0  |    704/60000 (  1%) ] Loss: 0.0878 top1= 97.5000
[E16B10 |   7744/60000 ( 13%) ] Loss: 0.0752 top1= 97.8125
[E16B20 |  14784/60000 ( 25%) ] Loss: 0.0864 top1= 97.5000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5834 top1= 85.3866


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.9892 top1= 50.4607


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.0448 top1= 46.7849

Train epoch 17
[E17B0  |    704/60000 (  1%) ] Loss: 0.0775 top1= 97.8125
[E17B10 |   7744/60000 ( 13%) ] Loss: 0.0594 top1= 98.2812
[E17B20 |  14784/60000 ( 25%) ] Loss: 0.1049 top1= 96.4062

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5779 top1= 85.8073


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.8127 top1= 50.4708


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.9672 top1= 46.8249

Train epoch 18
[E18B0  |    704/60000 (  1%) ] Loss: 0.0962 top1= 97.1875
[E18B10 |   7744/60000 ( 13%) ] Loss: 0.0710 top1= 97.6562
[E18B20 |  14784/60000 ( 25%) ] Loss: 0.0796 top1= 97.6562

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5651 top1= 85.7772


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.8324 top1= 50.5308


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.9454 top1= 46.8650

Train epoch 19
[E19B0  |    704/60000 (  1%) ] Loss: 0.0782 top1= 97.9688
[E19B10 |   7744/60000 ( 13%) ] Loss: 0.0572 top1= 98.1250
[E19B20 |  14784/60000 ( 25%) ] Loss: 0.0695 top1= 97.6562

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5403 top1= 86.3381


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.9539 top1= 50.5308


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.0177 top1= 46.9151

Train epoch 20
[E20B0  |    704/60000 (  1%) ] Loss: 0.0693 top1= 98.2812
[E20B10 |   7744/60000 ( 13%) ] Loss: 0.0598 top1= 98.4375
[E20B20 |  14784/60000 ( 25%) ] Loss: 0.0734 top1= 97.0312

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5673 top1= 85.5369


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.8713 top1= 50.6010


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.4461 top1= 46.8550

Train epoch 21
[E21B0  |    704/60000 (  1%) ] Loss: 0.1323 top1= 95.7812
[E21B10 |   7744/60000 ( 13%) ] Loss: 0.0637 top1= 97.8125
[E21B20 |  14784/60000 ( 25%) ] Loss: 0.0725 top1= 97.0312

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5718 top1= 83.9844


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.8027 top1= 50.5709


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.6172 top1= 46.9451

Train epoch 22
[E22B0  |    704/60000 (  1%) ] Loss: 0.0734 top1= 97.8125
[E22B10 |   7744/60000 ( 13%) ] Loss: 0.0517 top1= 98.2812
[E22B20 |  14784/60000 ( 25%) ] Loss: 0.0637 top1= 97.9688

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5405 top1= 84.6855


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.9011 top1= 50.6210


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.8323 top1= 46.9651

Train epoch 23
[E23B0  |    704/60000 (  1%) ] Loss: 0.0617 top1= 98.2812
[E23B10 |   7744/60000 ( 13%) ] Loss: 0.0416 top1= 98.5938
[E23B20 |  14784/60000 ( 25%) ] Loss: 0.0736 top1= 96.8750

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5333 top1= 84.8958


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.7991 top1= 50.5909


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.8877 top1= 47.0453

Train epoch 24
[E24B0  |    704/60000 (  1%) ] Loss: 0.0651 top1= 98.4375
[E24B10 |   7744/60000 ( 13%) ] Loss: 0.0400 top1= 99.0625
[E24B20 |  14784/60000 ( 25%) ] Loss: 0.0675 top1= 97.9688

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5185 top1= 85.5669


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.7349 top1= 50.6010


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.8001 top1= 47.0853

Train epoch 25
[E25B0  |    704/60000 (  1%) ] Loss: 0.0598 top1= 98.4375
[E25B10 |   7744/60000 ( 13%) ] Loss: 0.0409 top1= 98.9062
[E25B20 |  14784/60000 ( 25%) ] Loss: 0.0513 top1= 98.2812

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.4988 top1= 85.9675


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.8289 top1= 50.6510


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.9310 top1= 47.0753

Train epoch 26
[E26B0  |    704/60000 (  1%) ] Loss: 0.0465 top1= 98.9062
[E26B10 |   7744/60000 ( 13%) ] Loss: 0.0441 top1= 98.1250
[E26B20 |  14784/60000 ( 25%) ] Loss: 0.0519 top1= 98.2812

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5044 top1= 86.2179


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.1884 top1= 50.5108


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.9144 top1= 47.1755

Train epoch 27
[E27B0  |    704/60000 (  1%) ] Loss: 0.1665 top1= 95.1562
[E27B10 |   7744/60000 ( 13%) ] Loss: 0.1119 top1= 96.7188
[E27B20 |  14784/60000 ( 25%) ] Loss: 0.2097 top1= 94.5312

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5181 top1= 87.9107


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.1680 top1= 50.6310


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.1766 top1= 47.1454

Train epoch 28
[E28B0  |    704/60000 (  1%) ] Loss: 0.0863 top1= 97.3438
[E28B10 |   7744/60000 ( 13%) ] Loss: 0.0349 top1= 99.2188
[E28B20 |  14784/60000 ( 25%) ] Loss: 0.0485 top1= 98.4375

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.4824 top1= 87.0593


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.4052 top1= 50.6410


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.6498 top1= 47.1655

Train epoch 29
[E29B0  |    704/60000 (  1%) ] Loss: 0.0458 top1= 98.9062
[E29B10 |   7744/60000 ( 13%) ] Loss: 0.0319 top1= 99.0625
[E29B20 |  14784/60000 ( 25%) ] Loss: 0.0523 top1= 98.7500

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.4746 top1= 86.8590


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.4495 top1= 50.6510


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.7647 top1= 47.1755

Train epoch 30
[E30B0  |    704/60000 (  1%) ] Loss: 0.0469 top1= 98.9062
[E30B10 |   7744/60000 ( 13%) ] Loss: 0.0280 top1= 99.2188
[E30B20 |  14784/60000 ( 25%) ] Loss: 0.0468 top1= 98.7500

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.4627 top1= 87.1995


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.4878 top1= 50.7011


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.7970 top1= 47.1955

