How does copy.deepcopy initilize modules?

From my understanding, deepcopy copies modules with the same initial params.
So is it unsafe to use copy.deep copy if I want modules with same architecture but are initialized independently?

copy.deepcopy should copy the model directly, i.e. with exactly the same values in all parameters. The copied module will therefore not be reinitialized.
Let me know, if I misunderstood your question.