Since the core issue is passing different dtypes to MSELoss, it seems to be that a TypeError should be thrown on loss = loss_function(outputs, batch_y) instead of a RuntimeError on loss.backward(). Why allow users to compute the loss tensor if it’s known to be invalid for backpropagation? Curious if the team has any thoughts there