Why doesn't setting random seed give same performance across runs?
I am training some deep learning models using pytorch, which also includes the usage of numpy. Since the randomisation is not truly random and it is pseudo-random, why aren't the numbers i.e., accuracy etc same across different runs?
I mean, even if I do not set some random seed, there should be some default random seed according to which my code must run and give same results across different runs. Is there something more to it?

I don't think the truly random vs. pseudo-random discussion is relevant here. Different numbers may be generated depending on factors like date and time, which is why you should set a seed.
If you involve PyTorch and CUDA, things get a little more complicated. Here is an article talking about randomness and reproducibility.
In short, you need to set seeds for numpy + PyTorch and also set the backend to deterministic operations.
