That is not entirely correct I think. If you remember, I had an issue 2 where a torch.float32 would unexpectedly end up as a torch.float64 if you do not manually specify the precision. So the input precision is not automatically used in the output. It went like this:
torch.float32 -> list -> float64 (numpy) -> torch.float64.