Rename `torch.nn.MSELoss` to `torch.nn.SELoss`

From the documentation here, it seems that the loss is mainly the element-wise squared differences between two vectors.
The reduction argument should be able to handle special cases where mean, sum or no-reduction is required.

Does this argument make sense?


Given the default reduction argument value, this is actually doing an MSE.
Is you proposition to introduce a new nn.SELoss that is the same but with the default reduction='none' ?

I believe that would make more sense semantically. Writing MSELoss and then not doing mean-squared-error looks counter-intuitive.

In any case, MSELoss is a single metric and should not be overloaded with arguments that make it flexible and thus confusing. Perhaps deprecating it in favour of SELoss, or deprecating the reduction param so that MSELoss doesn’t require any param would be something that could be considered.