Here is my output for num_workers=3:
Permutator created.
Permutator created.
Permutator created.
Epoch 0 [0/196]		Loss 4.6297	Acc 1.172	Time 2.37
Epoch 0 [20/196]		Loss 3.9302	Acc 13.672	Time 0.19
Epoch 0 [40/196]		Loss 3.2485	Acc 24.609	Time 0.11
Epoch 0 [60/196]		Loss 2.9858	Acc 32.812	Time 0.11
Epoch 0 [80/196]		Loss 2.6841	Acc 40.625	Time 0.12
Epoch 0 [100/196]		Loss 2.2454	Acc 44.922	Time 0.11
Epoch 0 [120/196]		Loss 2.1016	Acc 48.828	Time 0.11
Epoch 0 [140/196]		Loss 2.0078	Acc 50.781	Time 0.12
Epoch 0 [160/196]		Loss 2.1359	Acc 50.000	Time 0.11
Epoch 0 [180/196]		Loss 2.0075	Acc 49.609	Time 0.11

Finished Epoch 0 in 69.74s	Avg. Loss 2.6975	Avg. Accuracy 38.306

Permutator created.
Permutator created.
Permutator created.
Permutator created.
Epoch 1 [0/196]		Loss 1.6530	Acc 60.547	Time 0.33
Epoch 1 [20/196]		Loss 2.0716	Acc 53.125	Time 0.11
Epoch 1 [40/196]		Loss 1.8582	Acc 56.250	Time 0.12
Epoch 1 [60/196]		Loss 1.7714	Acc 58.594	Time 0.12
Epoch 1 [80/196]		Loss 1.5090	Acc 62.500	Time 0.18
Epoch 1 [100/196]		Loss 1.5322	Acc 63.281	Time 0.11
Epoch 1 [120/196]		Loss 1.4636	Acc 65.234	Time 0.12

You can see that after the first epoch the permutator is created four times (two times for training and two times for validation).