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

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.0399 top1= 62.1875
[E 1B20 |  14784/60000 ( 25%) ] Loss: 0.3918 top1= 87.9688

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.6420 top1= 81.2400


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=6.9671 top1= 49.3289


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=6.4740 top1= 44.2208

Train epoch 2
[E 2B0  |    704/60000 (  1%) ] Loss: 0.2741 top1= 91.0938
[E 2B10 |   7744/60000 ( 13%) ] Loss: 0.1937 top1= 93.9062
[E 2B20 |  14784/60000 ( 25%) ] Loss: 0.1949 top1= 94.6875

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.5094 top1= 86.3582


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.3126 top1= 50.0501


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.5756 top1= 45.9135

Train epoch 3
[E 3B0  |    704/60000 (  1%) ] Loss: 0.1550 top1= 95.3125
[E 3B10 |   7744/60000 ( 13%) ] Loss: 0.1180 top1= 96.7188
[E 3B20 |  14784/60000 ( 25%) ] Loss: 0.1475 top1= 95.7812

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.4071 top1= 88.0008


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


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.9642 top1= 46.3442

Train epoch 4
[E 4B0  |    704/60000 (  1%) ] Loss: 0.1292 top1= 96.0938
[E 4B10 |   7744/60000 ( 13%) ] Loss: 0.0866 top1= 97.0312
[E 4B20 |  14784/60000 ( 25%) ] Loss: 0.1114 top1= 97.0312

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.3549 top1= 89.0425


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.8004 top1= 52.1935


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.6675 top1= 47.6763

Train epoch 5
[E 5B0  |    704/60000 (  1%) ] Loss: 0.1055 top1= 97.1875
[E 5B10 |   7744/60000 ( 13%) ] Loss: 0.0633 top1= 98.5938
[E 5B20 |  14784/60000 ( 25%) ] Loss: 0.0899 top1= 97.5000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.3251 top1= 89.5032


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.7576 top1= 53.3754


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.5427 top1= 49.4291

Train epoch 6
[E 6B0  |    704/60000 (  1%) ] Loss: 0.0827 top1= 98.1250
[E 6B10 |   7744/60000 ( 13%) ] Loss: 0.0493 top1= 99.0625
[E 6B20 |  14784/60000 ( 25%) ] Loss: 0.0688 top1= 97.9688

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.3076 top1= 89.9840


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.7420 top1= 54.7075


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.3867 top1= 52.0232

Train epoch 7
[E 7B0  |    704/60000 (  1%) ] Loss: 0.0650 top1= 98.2812
[E 7B10 |   7744/60000 ( 13%) ] Loss: 0.0392 top1= 99.3750
[E 7B20 |  14784/60000 ( 25%) ] Loss: 0.0575 top1= 98.2812

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2987 top1= 90.1743


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.7083 top1= 55.7492


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.4056 top1= 53.1350

Train epoch 8
[E 8B0  |    704/60000 (  1%) ] Loss: 0.0555 top1= 98.5938
[E 8B10 |   7744/60000 ( 13%) ] Loss: 0.0279 top1= 99.5312
[E 8B20 |  14784/60000 ( 25%) ] Loss: 0.0484 top1= 98.2812

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2906 top1= 90.3345


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.7751 top1= 56.6006


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.4675 top1= 53.3954

Train epoch 9
[E 9B0  |    704/60000 (  1%) ] Loss: 0.0419 top1= 99.0625
[E 9B10 |   7744/60000 ( 13%) ] Loss: 0.0239 top1= 99.2188
[E 9B20 |  14784/60000 ( 25%) ] Loss: 0.0574 top1= 97.9688

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2922 top1= 90.2043


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.4301 top1= 58.5537


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.4630 top1= 54.6074

Train epoch 10
[E10B0  |    704/60000 (  1%) ] Loss: 0.0434 top1= 99.2188
[E10B10 |   7744/60000 ( 13%) ] Loss: 0.0296 top1= 98.9062
[E10B20 |  14784/60000 ( 25%) ] Loss: 0.0402 top1= 99.0625

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2911 top1= 90.1542


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.3837 top1= 59.1346


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.4812 top1= 56.5505

Train epoch 11
[E11B0  |    704/60000 (  1%) ] Loss: 0.0427 top1= 98.2812
[E11B10 |   7744/60000 ( 13%) ] Loss: 0.0389 top1= 98.7500
[E11B20 |  14784/60000 ( 25%) ] Loss: 0.0563 top1= 98.1250

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2853 top1= 90.3746


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.2129 top1= 59.7055


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.3502 top1= 56.7608

Train epoch 12
[E12B0  |    704/60000 (  1%) ] Loss: 0.0246 top1= 99.5312
[E12B10 |   7744/60000 ( 13%) ] Loss: 0.0291 top1= 99.3750
[E12B20 |  14784/60000 ( 25%) ] Loss: 0.0296 top1= 99.3750

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2572 top1= 91.3562


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.2379 top1= 60.5869


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.1985 top1= 54.9679

Train epoch 13
[E13B0  |    704/60000 (  1%) ] Loss: 0.0286 top1= 98.9062
[E13B10 |   7744/60000 ( 13%) ] Loss: 0.0155 top1= 99.8438
[E13B20 |  14784/60000 ( 25%) ] Loss: 0.0134 top1= 99.6875

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2630 top1= 91.3862


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.0569 top1= 62.8506


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.3524 top1= 54.8377

Train epoch 14
[E14B0  |    704/60000 (  1%) ] Loss: 0.0201 top1= 99.3750
[E14B10 |   7744/60000 ( 13%) ] Loss: 0.0133 top1= 99.8438
[E14B20 |  14784/60000 ( 25%) ] Loss: 0.0110 top1=100.0000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2398 top1= 92.2877


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.1831 top1= 61.9291


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.0570 top1= 58.5337

Train epoch 15
[E15B0  |    704/60000 (  1%) ] Loss: 0.0090 top1=100.0000
[E15B10 |   7744/60000 ( 13%) ] Loss: 0.0086 top1=100.0000
[E15B20 |  14784/60000 ( 25%) ] Loss: 0.0129 top1= 99.8438

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2399 top1= 92.3077


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.2073 top1= 62.1394


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.8367 top1= 62.6803

Train epoch 16
[E16B0  |    704/60000 (  1%) ] Loss: 0.0093 top1= 99.8438
[E16B10 |   7744/60000 ( 13%) ] Loss: 0.0050 top1=100.0000
[E16B20 |  14784/60000 ( 25%) ] Loss: 0.0085 top1= 99.8438

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2468 top1= 92.1575


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.9522 top1= 64.0124


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.9096 top1= 63.3614

Train epoch 17
[E17B0  |    704/60000 (  1%) ] Loss: 0.0079 top1=100.0000
[E17B10 |   7744/60000 ( 13%) ] Loss: 0.0056 top1=100.0000
[E17B20 |  14784/60000 ( 25%) ] Loss: 0.0070 top1= 99.8438

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2402 top1= 92.4579


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.8462 top1= 65.2043


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.9316 top1= 62.2196

Train epoch 18
[E18B0  |    704/60000 (  1%) ] Loss: 0.0076 top1= 99.8438
[E18B10 |   7744/60000 ( 13%) ] Loss: 0.0041 top1=100.0000
[E18B20 |  14784/60000 ( 25%) ] Loss: 0.0052 top1=100.0000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2367 top1= 92.8085


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.8382 top1= 65.5048


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.7519 top1= 65.0942

Train epoch 19
[E19B0  |    704/60000 (  1%) ] Loss: 0.0030 top1=100.0000
[E19B10 |   7744/60000 ( 13%) ] Loss: 0.0035 top1=100.0000
[E19B20 |  14784/60000 ( 25%) ] Loss: 0.0048 top1=100.0000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2385 top1= 92.6683


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.7368 top1= 66.7768


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.7424 top1= 65.6951

Train epoch 20
[E20B0  |    704/60000 (  1%) ] Loss: 0.0027 top1=100.0000
[E20B10 |   7744/60000 ( 13%) ] Loss: 0.0031 top1=100.0000
[E20B20 |  14784/60000 ( 25%) ] Loss: 0.0051 top1=100.0000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2346 top1= 92.9587


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.6992 top1= 67.5581


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.5400 top1= 67.9587

Train epoch 21
[E21B0  |    704/60000 (  1%) ] Loss: 0.0023 top1=100.0000
[E21B10 |   7744/60000 ( 13%) ] Loss: 0.0023 top1=100.0000
[E21B20 |  14784/60000 ( 25%) ] Loss: 0.0038 top1=100.0000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2349 top1= 93.0990


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.6863 top1= 67.9287


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.4781 top1= 68.9704

Train epoch 22
[E22B0  |    704/60000 (  1%) ] Loss: 0.0021 top1=100.0000
[E22B10 |   7744/60000 ( 13%) ] Loss: 0.0021 top1=100.0000
[E22B20 |  14784/60000 ( 25%) ] Loss: 0.0023 top1=100.0000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2361 top1= 92.9888


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.6237 top1= 68.6298


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.5545 top1= 69.0805

Train epoch 23
[E23B0  |    704/60000 (  1%) ] Loss: 0.0017 top1=100.0000
[E23B10 |   7744/60000 ( 13%) ] Loss: 0.0020 top1=100.0000
[E23B20 |  14784/60000 ( 25%) ] Loss: 0.0023 top1=100.0000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2403 top1= 93.0288


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.6083 top1= 69.0004


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.5654 top1= 69.7115

Train epoch 24
[E24B0  |    704/60000 (  1%) ] Loss: 0.0018 top1=100.0000
[E24B10 |   7744/60000 ( 13%) ] Loss: 0.0019 top1=100.0000
[E24B20 |  14784/60000 ( 25%) ] Loss: 0.0019 top1=100.0000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2402 top1= 93.0589


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.5775 top1= 69.6514


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.5010 top1= 70.4026

Train epoch 25
[E25B0  |    704/60000 (  1%) ] Loss: 0.0015 top1=100.0000
[E25B10 |   7744/60000 ( 13%) ] Loss: 0.0016 top1=100.0000
[E25B20 |  14784/60000 ( 25%) ] Loss: 0.0017 top1=100.0000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2419 top1= 93.0789


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.5452 top1= 70.1923


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.4791 top1= 71.2039

Train epoch 26
[E26B0  |    704/60000 (  1%) ] Loss: 0.0014 top1=100.0000
[E26B10 |   7744/60000 ( 13%) ] Loss: 0.0015 top1=100.0000
[E26B20 |  14784/60000 ( 25%) ] Loss: 0.0015 top1=100.0000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2432 top1= 93.1991


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.5174 top1= 70.7632


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.4556 top1= 71.8450

Train epoch 27
[E27B0  |    704/60000 (  1%) ] Loss: 0.0013 top1=100.0000
[E27B10 |   7744/60000 ( 13%) ] Loss: 0.0014 top1=100.0000
[E27B20 |  14784/60000 ( 25%) ] Loss: 0.0014 top1=100.0000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2439 top1= 93.1991


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.4889 top1= 71.2941


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.4374 top1= 72.3458

Train epoch 28
[E28B0  |    704/60000 (  1%) ] Loss: 0.0013 top1=100.0000
[E28B10 |   7744/60000 ( 13%) ] Loss: 0.0013 top1=100.0000
[E28B20 |  14784/60000 ( 25%) ] Loss: 0.0013 top1=100.0000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2447 top1= 93.1991


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.4608 top1= 71.7147


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.4244 top1= 72.8065

Train epoch 29
[E29B0  |    704/60000 (  1%) ] Loss: 0.0012 top1=100.0000
[E29B10 |   7744/60000 ( 13%) ] Loss: 0.0012 top1=100.0000
[E29B20 |  14784/60000 ( 25%) ] Loss: 0.0012 top1=100.0000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2451 top1= 93.2492


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.4368 top1= 72.1955


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.4131 top1= 73.1871

Train epoch 30
[E30B0  |    704/60000 (  1%) ] Loss: 0.0012 top1=100.0000
[E30B10 |   7744/60000 ( 13%) ] Loss: 0.0011 top1=100.0000
[E30B20 |  14784/60000 ( 25%) ] Loss: 0.0012 top1=100.0000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2456 top1= 93.2492


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.4126 top1= 72.6963


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.4055 top1= 73.4075

