I tried to replace the manager.dict with a python standard dict. Nothing wired happens for the snippet.
I printed the object id in __getitem__ and only observe a unique id for both two cases. Guessing dict is not duplicated in my cases.

The fear is that it works ok in a small snippet but breaks in complicated circumstances.
I have long been wondering the mechanism of our pytorch dataloader and dataset but still get confused after searching for informations 1.
According to the above github links, the fork/spawn methods might be the keys to dive into the details but this is diffcult for us users.
It is hoped that a in-depth tuitorial could be proposed on the dataset/dataloader mechenism. That would be helpful for users with a slightly advanced purpose.