
=== 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 ByzantineWorker(index=5)
=> Add worker ByzantineWorker(index=6)
=> Add worker ByzantineWorker(index=7)
=> Add worker ByzantineWorker(index=8)
=> Add worker ByzantineWorker(index=9)
=> Add worker ByzantineWorker(index=10)
=> Add worker ByzantineWorker(index=11)
=> Add worker ByzantineWorker(index=12)
=> Add worker ByzantineWorker(index=13)
=> Add worker ByzantineWorker(index=14)
=> Add worker ByzantineWorker(index=15)

=== Start adding graph ===
<__main__.MaliciousRing object at 0x7faca1487b20>

Train epoch 1
[E 1B0  |    512/60000 (  1%) ] Loss: 2.3090 top1=  5.6250

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



=== Log mixing matrix @ E1B0 ===
[[0.545 0.091 0.    0.    0.091 0.091 0.    0.    0.    0.    0.091 0.
  0.    0.    0.    0.091]
 [0.091 0.582 0.109 0.    0.    0.    0.109 0.    0.    0.    0.    0.109
  0.    0.    0.    0.   ]
 [0.    0.109 0.564 0.109 0.    0.    0.    0.109 0.    0.    0.    0.
  0.109 0.    0.    0.   ]
 [0.    0.    0.109 0.564 0.109 0.    0.    0.    0.109 0.    0.    0.
  0.    0.109 0.    0.   ]
 [0.091 0.    0.    0.109 0.582 0.    0.    0.    0.    0.109 0.    0.
  0.    0.    0.109 0.   ]
 [0.091 0.    0.    0.    0.    0.909 0.    0.    0.    0.    0.    0.
  0.    0.    0.    0.   ]
 [0.    0.109 0.    0.    0.    0.    0.891 0.    0.    0.    0.    0.
  0.    0.    0.    0.   ]
 [0.    0.    0.109 0.    0.    0.    0.    0.891 0.    0.    0.    0.
  0.    0.    0.    0.   ]
 [0.    0.    0.    0.109 0.    0.    0.    0.    0.891 0.    0.    0.
  0.    0.    0.    0.   ]
 [0.    0.    0.    0.    0.109 0.    0.    0.    0.    0.891 0.    0.
  0.    0.    0.    0.   ]
 [0.091 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.909 0.
  0.    0.    0.    0.   ]
 [0.    0.109 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.891
  0.    0.    0.    0.   ]
 [0.    0.    0.109 0.    0.    0.    0.    0.    0.    0.    0.    0.
  0.891 0.    0.    0.   ]
 [0.    0.    0.    0.109 0.    0.    0.    0.    0.    0.    0.    0.
  0.    0.891 0.    0.   ]
 [0.    0.    0.    0.    0.109 0.    0.    0.    0.    0.    0.    0.
  0.    0.    0.891 0.   ]
 [0.091 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
  0.    0.    0.    0.909]]


[E 1B10 |   5632/60000 (  9%) ] Loss: 1.8539 top1= 35.6250
[E 1B20 |  10752/60000 ( 18%) ] Loss: 1.2720 top1= 60.0000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.6684 top1= 81.4503

Train epoch 2
[E 2B0  |    512/60000 (  1%) ] Loss: 0.4713 top1= 82.5000
[E 2B10 |   5632/60000 (  9%) ] Loss: 0.6919 top1= 75.6250
[E 2B20 |  10752/60000 ( 18%) ] Loss: 0.5834 top1= 80.6250

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.4653 top1= 86.7288

Train epoch 3
[E 3B0  |    512/60000 (  1%) ] Loss: 0.2186 top1= 94.3750
[E 3B10 |   5632/60000 (  9%) ] Loss: 0.2149 top1= 92.5000
[E 3B20 |  10752/60000 ( 18%) ] Loss: 0.2291 top1= 90.6250

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.4131 top1= 87.2696

Train epoch 4
[E 4B0  |    512/60000 (  1%) ] Loss: 0.1166 top1= 95.6250
[E 4B10 |   5632/60000 (  9%) ] Loss: 0.1352 top1= 95.6250
[E 4B20 |  10752/60000 ( 18%) ] Loss: 0.1603 top1= 94.3750

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.3467 top1= 89.8438

Train epoch 5
[E 5B0  |    512/60000 (  1%) ] Loss: 0.1222 top1= 98.1250
[E 5B10 |   5632/60000 (  9%) ] Loss: 0.1818 top1= 96.2500
[E 5B20 |  10752/60000 ( 18%) ] Loss: 0.0751 top1= 97.5000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.3486 top1= 90.4447

Train epoch 6
[E 6B0  |    512/60000 (  1%) ] Loss: 0.0569 top1= 98.1250
[E 6B10 |   5632/60000 (  9%) ] Loss: 0.0801 top1= 98.1250
[E 6B20 |  10752/60000 ( 18%) ] Loss: 0.0821 top1= 96.8750

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.3370 top1= 90.5649

Train epoch 7
[E 7B0  |    512/60000 (  1%) ] Loss: 0.1306 top1= 98.1250
[E 7B10 |   5632/60000 (  9%) ] Loss: 0.0708 top1= 98.1250
[E 7B20 |  10752/60000 ( 18%) ] Loss: 0.0223 top1=100.0000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.3504 top1= 91.2159

Train epoch 8
[E 8B0  |    512/60000 (  1%) ] Loss: 0.0100 top1=100.0000
[E 8B10 |   5632/60000 (  9%) ] Loss: 0.0961 top1= 97.5000
[E 8B20 |  10752/60000 ( 18%) ] Loss: 0.1183 top1= 97.5000

=> Averaged model (Global Average Validation Accuracy) | Eval Loss=0.3246 top1= 91.6466

Train epoch 9
[E 9B0  |    512/60000 (  1%) ] Loss: 0.0524 top1= 98.1250
[E 9B10 |   5632/60000 (  9%) ] Loss: 0.0403 top1= 98.7500
[E 9B20 |  10752/60000 ( 18%) ] Loss: 0.0630 top1= 98.7500
