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

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.0377 top1= 62.6562
[E 1B20 |  14784/60000 ( 25%) ] Loss: 0.3903 top1= 88.1250

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.6662 top1= 80.6090


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=7.4591 top1= 49.3590


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=6.5772 top1= 44.2508

Train epoch 2
[E 2B0  |    704/60000 (  1%) ] Loss: 0.2755 top1= 91.4062
[E 2B10 |   7744/60000 ( 13%) ] Loss: 0.1924 top1= 94.0625
[E 2B20 |  14784/60000 ( 25%) ] Loss: 0.1942 top1= 94.5312

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


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


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.6568 top1= 45.8834

Train epoch 3
[E 3B0  |    704/60000 (  1%) ] Loss: 0.1592 top1= 95.1562
[E 3B10 |   7744/60000 ( 13%) ] Loss: 0.1103 top1= 97.0312
[E 3B20 |  14784/60000 ( 25%) ] Loss: 0.1401 top1= 96.2500

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.4229 top1= 87.8305


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.3513 top1= 49.7897


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=3.0589 top1= 46.4643

Train epoch 4
[E 4B0  |    704/60000 (  1%) ] Loss: 0.1312 top1= 95.9375
[E 4B10 |   7744/60000 ( 13%) ] Loss: 0.0780 top1= 97.9688
[E 4B20 |  14784/60000 ( 25%) ] Loss: 0.1058 top1= 96.7188

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.3724 top1= 88.5817


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=3.1542 top1= 50.7512


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.7608 top1= 47.8065

Train epoch 5
[E 5B0  |    704/60000 (  1%) ] Loss: 0.0986 top1= 97.1875
[E 5B10 |   7744/60000 ( 13%) ] Loss: 0.0587 top1= 98.5938
[E 5B20 |  14784/60000 ( 25%) ] Loss: 0.0837 top1= 97.1875

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.3358 top1= 89.3329


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.9935 top1= 51.9531


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.6301 top1= 50.1102

Train epoch 6
[E 6B0  |    704/60000 (  1%) ] Loss: 0.0747 top1= 97.9688
[E 6B10 |   7744/60000 ( 13%) ] Loss: 0.0413 top1= 99.0625
[E 6B20 |  14784/60000 ( 25%) ] Loss: 0.0647 top1= 97.9688

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.3073 top1= 89.8638


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.8623 top1= 53.4756


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.6319 top1= 51.6727

Train epoch 7
[E 7B0  |    704/60000 (  1%) ] Loss: 0.0573 top1= 98.5938
[E 7B10 |   7744/60000 ( 13%) ] Loss: 0.0300 top1= 99.5312
[E 7B20 |  14784/60000 ( 25%) ] Loss: 0.0600 top1= 97.8125

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2969 top1= 90.1242


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.8933 top1= 54.0565


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.6228 top1= 52.5841

Train epoch 8
[E 8B0  |    704/60000 (  1%) ] Loss: 0.0438 top1= 98.7500
[E 8B10 |   7744/60000 ( 13%) ] Loss: 0.0283 top1= 99.3750
[E 8B20 |  14784/60000 ( 25%) ] Loss: 0.0447 top1= 98.9062

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.3020 top1= 89.9940


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.8318 top1= 55.5889


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.7237 top1= 53.3153

Train epoch 9
[E 9B0  |    704/60000 (  1%) ] Loss: 0.0452 top1= 98.9062
[E 9B10 |   7744/60000 ( 13%) ] Loss: 0.0304 top1= 99.2188
[E 9B20 |  14784/60000 ( 25%) ] Loss: 0.0470 top1= 98.5938

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


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.6607 top1= 56.4603


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.5790 top1= 55.2684

Train epoch 10
[E10B0  |    704/60000 (  1%) ] Loss: 0.0247 top1= 99.3750
[E10B10 |   7744/60000 ( 13%) ] Loss: 0.0301 top1= 99.0625
[E10B20 |  14784/60000 ( 25%) ] Loss: 0.0550 top1= 98.1250

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2917 top1= 90.5048


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.6162 top1= 57.3417


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.9977 top1= 58.9643

Train epoch 11
[E11B0  |    704/60000 (  1%) ] Loss: 0.0274 top1= 99.5312
[E11B10 |   7744/60000 ( 13%) ] Loss: 0.0287 top1= 99.3750
[E11B20 |  14784/60000 ( 25%) ] Loss: 0.0290 top1= 99.2188

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2694 top1= 90.8554


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.6302 top1= 58.2833


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.5847 top1= 52.8045

Train epoch 12
[E12B0  |    704/60000 (  1%) ] Loss: 0.0556 top1= 98.2812
[E12B10 |   7744/60000 ( 13%) ] Loss: 0.0314 top1= 98.9062
[E12B20 |  14784/60000 ( 25%) ] Loss: 0.0227 top1= 99.2188

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2570 top1= 91.4463


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.5411 top1= 58.8642


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.2455 top1= 56.1098

Train epoch 13
[E13B0  |    704/60000 (  1%) ] Loss: 0.0321 top1= 98.9062
[E13B10 |   7744/60000 ( 13%) ] Loss: 0.0197 top1= 99.5312
[E13B20 |  14784/60000 ( 25%) ] Loss: 0.0135 top1= 99.8438

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2534 top1= 91.6166


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.2693 top1= 60.9375


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.3504 top1= 55.5689

Train epoch 14
[E14B0  |    704/60000 (  1%) ] Loss: 0.0128 top1= 99.8438
[E14B10 |   7744/60000 ( 13%) ] Loss: 0.0152 top1= 99.6875
[E14B20 |  14784/60000 ( 25%) ] Loss: 0.0217 top1= 99.3750

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


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.6372 top1= 59.3049


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.1360 top1= 58.9844

Train epoch 15
[E15B0  |    704/60000 (  1%) ] Loss: 0.0133 top1= 99.5312
[E15B10 |   7744/60000 ( 13%) ] Loss: 0.0068 top1=100.0000
[E15B20 |  14784/60000 ( 25%) ] Loss: 0.0123 top1= 99.8438

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


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.3111 top1= 61.3682


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=2.0580 top1= 59.8458

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

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2342 top1= 92.4479


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.1981 top1= 62.3498


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.9294 top1= 61.3181

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

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2314 top1= 92.7784


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=2.0430 top1= 63.5717


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.8366 top1= 63.2512

Train epoch 18
[E18B0  |    704/60000 (  1%) ] Loss: 0.0039 top1=100.0000
[E18B10 |   7744/60000 ( 13%) ] Loss: 0.0043 top1=100.0000
[E18B20 |  14784/60000 ( 25%) ] Loss: 0.0048 top1=100.0000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2355 top1= 92.7384


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.9563 top1= 64.2628


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.7421 top1= 64.8438

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

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


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.8467 top1= 65.4948


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.6157 top1= 66.4764

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

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2325 top1= 93.1290


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.9017 top1= 65.5649


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.5765 top1= 67.2776

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

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


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.8141 top1= 66.4964


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.6320 top1= 67.6382

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

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2340 top1= 93.0889


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.8038 top1= 66.8269


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.6071 top1= 68.1991

Train epoch 23
[E23B0  |    704/60000 (  1%) ] Loss: 0.0019 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.2344 top1= 93.1591


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.7313 top1= 67.7484


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.5381 top1= 69.1607

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

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2363 top1= 93.2392


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.7215 top1= 68.1791


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.5124 top1= 69.9018

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

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2374 top1= 93.2091


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.6664 top1= 68.9002


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.4856 top1= 70.7732

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

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2384 top1= 93.2292


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.6424 top1= 69.3610


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.4573 top1= 71.5044

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

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2396 top1= 93.2392


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.6091 top1= 69.9820


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.4322 top1= 72.0954

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

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


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.5781 top1= 70.5128


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.4082 top1= 72.7564

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

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


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.5518 top1= 70.8534


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.3915 top1= 73.1470

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

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.2424 top1= 93.2692


=> Averaged model (Clique1 Average Validation Accuracy) | Eval Loss=1.5263 top1= 71.1538


=> Averaged model (Clique2 Average Validation Accuracy) | Eval Loss=1.3724 top1= 73.6478

