
=== 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 0x7efe46a04490>

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.4196 top1= 52.0312
[E 1B20 |  14784/60000 ( 25%) ] Loss: 0.8635 top1= 69.6875

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=1.3690 top1= 77.2536


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.1374 top1= 48.4575


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.9068 top1= 42.8986

Train epoch 2
[E 2B0  |    704/60000 (  1%) ] Loss: 0.5182 top1= 83.2812
[E 2B10 |   7744/60000 ( 13%) ] Loss: 0.3999 top1= 87.9688
[E 2B20 |  14784/60000 ( 25%) ] Loss: 0.3804 top1= 88.4375

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=1.0244 top1= 82.0012


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.7858 top1= 49.5192


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.5949 top1= 44.4010

Train epoch 3
[E 3B0  |    704/60000 (  1%) ] Loss: 0.2969 top1= 91.5625
[E 3B10 |   7744/60000 ( 13%) ] Loss: 0.2365 top1= 93.2812
[E 3B20 |  14784/60000 ( 25%) ] Loss: 0.2714 top1= 91.0938

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.9038 top1= 82.8526


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=4.1038 top1= 49.6494


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.9395 top1= 44.8417

Train epoch 4
[E 4B0  |    704/60000 (  1%) ] Loss: 0.2582 top1= 91.5625
[E 4B10 |   7744/60000 ( 13%) ] Loss: 0.1779 top1= 94.6875
[E 4B20 |  14784/60000 ( 25%) ] Loss: 0.2239 top1= 93.4375

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.8038 top1= 83.5437


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=4.4935 top1= 49.7997


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.4559 top1= 45.2524

Train epoch 5
[E 5B0  |    704/60000 (  1%) ] Loss: 0.2070 top1= 93.5938
[E 5B10 |   7744/60000 ( 13%) ] Loss: 0.1742 top1= 94.6875
[E 5B20 |  14784/60000 ( 25%) ] Loss: 0.2292 top1= 92.6562

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.7846 top1= 83.5938


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=4.4170 top1= 49.9499


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.1884 top1= 45.4327

Train epoch 6
[E 6B0  |    704/60000 (  1%) ] Loss: 0.1997 top1= 93.9062
[E 6B10 |   7744/60000 ( 13%) ] Loss: 0.1521 top1= 95.7812
[E 6B20 |  14784/60000 ( 25%) ] Loss: 0.1843 top1= 94.3750

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.7553 top1= 83.7540


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=4.4271 top1= 50.0901


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.1382 top1= 45.7031

Train epoch 7
[E 7B0  |    704/60000 (  1%) ] Loss: 0.1768 top1= 94.6875
[E 7B10 |   7744/60000 ( 13%) ] Loss: 0.1435 top1= 95.0000
[E 7B20 |  14784/60000 ( 25%) ] Loss: 0.1786 top1= 95.0000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.7062 top1= 84.7556


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


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.3622 top1= 46.0337

Train epoch 8
[E 8B0  |    704/60000 (  1%) ] Loss: 0.1476 top1= 95.9375
[E 8B10 |   7744/60000 ( 13%) ] Loss: 0.1266 top1= 95.6250
[E 8B20 |  14784/60000 ( 25%) ] Loss: 0.1495 top1= 95.7812

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.6956 top1= 84.9559


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=4.5087 top1= 50.2604


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.1997 top1= 46.1338

Train epoch 9
[E 9B0  |    704/60000 (  1%) ] Loss: 0.1702 top1= 95.0000
[E 9B10 |   7744/60000 ( 13%) ] Loss: 0.1303 top1= 95.7812
[E 9B20 |  14784/60000 ( 25%) ] Loss: 0.1427 top1= 96.2500

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.6727 top1= 85.7973


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=4.4780 top1= 50.2504


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.2342 top1= 46.2240

Train epoch 10
[E10B0  |    704/60000 (  1%) ] Loss: 0.1306 top1= 96.5625
[E10B10 |   7744/60000 ( 13%) ] Loss: 0.1043 top1= 97.3438
[E10B20 |  14784/60000 ( 25%) ] Loss: 0.1286 top1= 95.4688

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.6436 top1= 85.7472


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=4.6218 top1= 50.3405


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.3395 top1= 46.3742

Train epoch 11
[E11B0  |    704/60000 (  1%) ] Loss: 0.1215 top1= 96.8750
[E11B10 |   7744/60000 ( 13%) ] Loss: 0.1011 top1= 97.5000
[E11B20 |  14784/60000 ( 25%) ] Loss: 0.1432 top1= 95.7812

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.6367 top1= 86.2580


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=4.5104 top1= 50.3506


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

Train epoch 12
[E12B0  |    704/60000 (  1%) ] Loss: 0.1106 top1= 96.7188
[E12B10 |   7744/60000 ( 13%) ] Loss: 0.0880 top1= 97.0312
[E12B20 |  14784/60000 ( 25%) ] Loss: 0.1070 top1= 96.8750

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.6200 top1= 86.8189


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=4.4999 top1= 50.4307


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.1470 top1= 46.5144

Train epoch 13
[E13B0  |    704/60000 (  1%) ] Loss: 0.1306 top1= 95.9375
[E13B10 |   7744/60000 ( 13%) ] Loss: 0.0829 top1= 97.6562
[E13B20 |  14784/60000 ( 25%) ] Loss: 0.1099 top1= 97.0312

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5957 top1= 86.8890


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=4.5915 top1= 50.3906


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.2211 top1= 46.5445

Train epoch 14
[E14B0  |    704/60000 (  1%) ] Loss: 0.0978 top1= 97.8125
[E14B10 |   7744/60000 ( 13%) ] Loss: 0.0807 top1= 97.9688
[E14B20 |  14784/60000 ( 25%) ] Loss: 0.0911 top1= 97.3438

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5931 top1= 86.8289


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=4.4824 top1= 50.4507


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.1397 top1= 46.5946

Train epoch 15
[E15B0  |    704/60000 (  1%) ] Loss: 0.0997 top1= 97.6562
[E15B10 |   7744/60000 ( 13%) ] Loss: 0.0728 top1= 97.9688
[E15B20 |  14784/60000 ( 25%) ] Loss: 0.0985 top1= 97.0312

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5754 top1= 87.4800


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=4.4986 top1= 50.5008


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.1558 top1= 46.7348

Train epoch 16
[E16B0  |    704/60000 (  1%) ] Loss: 0.0860 top1= 97.3438
[E16B10 |   7744/60000 ( 13%) ] Loss: 0.0681 top1= 98.2812
[E16B20 |  14784/60000 ( 25%) ] Loss: 0.0838 top1= 97.6562

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5544 top1= 87.2496


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


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.2444 top1= 46.6947

Train epoch 17
[E17B0  |    704/60000 (  1%) ] Loss: 0.0915 top1= 97.3438
[E17B10 |   7744/60000 ( 13%) ] Loss: 0.0580 top1= 98.4375
[E17B20 |  14784/60000 ( 25%) ] Loss: 0.0895 top1= 96.7188

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5488 top1= 87.6603


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


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.1506 top1= 46.8149

Train epoch 18
[E18B0  |    704/60000 (  1%) ] Loss: 0.0840 top1= 97.9688
[E18B10 |   7744/60000 ( 13%) ] Loss: 0.0613 top1= 98.1250
[E18B20 |  14784/60000 ( 25%) ] Loss: 0.0700 top1= 98.2812

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5442 top1= 87.6002


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


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.1733 top1= 46.8049

Train epoch 19
[E19B0  |    704/60000 (  1%) ] Loss: 0.0777 top1= 97.6562
[E19B10 |   7744/60000 ( 13%) ] Loss: 0.0632 top1= 98.1250
[E19B20 |  14784/60000 ( 25%) ] Loss: 0.0643 top1= 98.2812

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5215 top1= 87.8105


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


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.2174 top1= 46.9251

Train epoch 20
[E20B0  |    704/60000 (  1%) ] Loss: 0.0759 top1= 98.4375
[E20B10 |   7744/60000 ( 13%) ] Loss: 0.0771 top1= 97.3438
[E20B20 |  14784/60000 ( 25%) ] Loss: 0.0633 top1= 97.9688

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5143 top1= 88.2011


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=4.5361 top1= 50.5409


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.1459 top1= 46.9351

Train epoch 21
[E21B0  |    704/60000 (  1%) ] Loss: 0.0795 top1= 97.9688
[E21B10 |   7744/60000 ( 13%) ] Loss: 0.0616 top1= 97.9688
[E21B20 |  14784/60000 ( 25%) ] Loss: 0.0642 top1= 97.6562

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5067 top1= 88.2913


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=4.4597 top1= 50.5509


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

Train epoch 22
[E22B0  |    704/60000 (  1%) ] Loss: 0.0689 top1= 98.1250
[E22B10 |   7744/60000 ( 13%) ] Loss: 0.0470 top1= 98.5938
[E22B20 |  14784/60000 ( 25%) ] Loss: 0.0515 top1= 98.5938

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.4893 top1= 88.4515


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=4.5618 top1= 50.5509


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.2634 top1= 46.9351

Train epoch 23
[E23B0  |    704/60000 (  1%) ] Loss: 0.0658 top1= 98.4375
[E23B10 |   7744/60000 ( 13%) ] Loss: 0.0493 top1= 98.2812
[E23B20 |  14784/60000 ( 25%) ] Loss: 0.0639 top1= 97.5000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.4864 top1= 88.5417


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=4.5337 top1= 50.5809


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.1955 top1= 47.0252

Train epoch 24
[E24B0  |    704/60000 (  1%) ] Loss: 0.0599 top1= 98.9062
[E24B10 |   7744/60000 ( 13%) ] Loss: 0.0385 top1= 99.0625
[E24B20 |  14784/60000 ( 25%) ] Loss: 0.0629 top1= 98.2812

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.4851 top1= 88.2712


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=4.4764 top1= 50.5809


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

Train epoch 25
[E25B0  |    704/60000 (  1%) ] Loss: 0.0728 top1= 98.4375
[E25B10 |   7744/60000 ( 13%) ] Loss: 0.0503 top1= 98.5938
[E25B20 |  14784/60000 ( 25%) ] Loss: 0.0447 top1= 98.4375

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.4681 top1= 88.6418


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


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

Train epoch 26
[E26B0  |    704/60000 (  1%) ] Loss: 0.0449 top1= 99.2188
[E26B10 |   7744/60000 ( 13%) ] Loss: 0.0705 top1= 97.9688
[E26B20 |  14784/60000 ( 25%) ] Loss: 0.0474 top1= 98.4375

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.4644 top1= 88.6819


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


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.1938 top1= 47.1054

Train epoch 27
[E27B0  |    704/60000 (  1%) ] Loss: 0.0523 top1= 98.7500
[E27B10 |   7744/60000 ( 13%) ] Loss: 0.0418 top1= 98.7500
[E27B20 |  14784/60000 ( 25%) ] Loss: 0.0460 top1= 98.9062

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.4618 top1= 88.5417


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=4.4830 top1= 50.6110


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

Train epoch 28
[E28B0  |    704/60000 (  1%) ] Loss: 0.0483 top1= 99.0625
[E28B10 |   7744/60000 ( 13%) ] Loss: 0.0328 top1= 99.2188
[E28B20 |  14784/60000 ( 25%) ] Loss: 0.0338 top1= 99.2188

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.4442 top1= 89.0725


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


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.2486 top1= 47.0653

Train epoch 29
[E29B0  |    704/60000 (  1%) ] Loss: 0.0465 top1= 98.7500
[E29B10 |   7744/60000 ( 13%) ] Loss: 0.0442 top1= 97.9688
[E29B20 |  14784/60000 ( 25%) ] Loss: 0.0670 top1= 97.3438

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.4463 top1= 88.8622


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


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=4.0958 top1= 47.1054

Train epoch 30
[E30B0  |    704/60000 (  1%) ] Loss: 0.0613 top1= 98.1250
[E30B10 |   7744/60000 ( 13%) ] Loss: 0.0566 top1= 98.4375
[E30B20 |  14784/60000 ( 25%) ] Loss: 0.0446 top1= 98.9062

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.4412 top1= 89.0525


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


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

