I have three files in my current pipeline:

net.py that defines a network I want to use
data.py that reads the data and creates a dataloader object
train.py that runs the experiment

I can think of randomness coming in play with setting the initial weights of the network, its dropout regularization, as well as the dataloader object fetching batches.
My question is, where do I need to set the random seed? Do I need to set it within all three files? Or is it enough for it to be set within train.py and then the code will be able to use it when I load in the network and dataloader objects?