if you accidentally make a new object then you should worry about it especially if it carries some important informations like gradients.
I forgot the pred was not a Packsequence object, so I tried to use data from it but as it is initially a tensor object, the funtion made another object from the initial tensor not making an error(if it raises an error then I would not lose 5 hours for solving it)
if a tensor for training needs requires_grad to be True then you should catch out something is going wrong totally.